2021-02-01

cocopods使用的記錄 方便查看

幾年前進行過組件化,使用cocopods管理,但是幾年后又開始組件化一個項目的時候,部分命令已經(jīng)忘記,同時使用swift 和 oc,以及xcode12的變化,混合開發(fā)造成的錯誤的記錄

xcode12 模擬器架構(gòu)默認支持 i386 x86_64 arm64 三個架構(gòu) ?iPhone 支持 arm64 armv7 這兒同時記錄下 模擬器都是x86_64的架構(gòu) 現(xiàn)在的手機iphone6以上都是arm64 所以對于目前的市場的手機 真機支持arm64 模擬器支持x86_64的架構(gòu)就行

這次組件化一個im項目 底層長鏈接使用的mars mars github 上提供的framework 只支持 x86_64 arm64 二個架構(gòu) 我需要對mar的封裝在做個私有庫 pod lint ?錯誤記錄

1. 不支持i386 本身我這個庫也不要支持,在驗證的時候加上?--skip-import-validation 來解決

2. release的時候 模擬器 不支持arm64 這兒我們需要加?'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' 如

s.xcconfig = {

? ? ? 'ENABLE_BITCODE' => 'NO',

? ? ? 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64'

? }

xcconfig 可以對這個庫工程配置設置 名字基本是和xcode上一樣的?

3.如果引用的三方庫是靜態(tài)庫 并且是oc 但是你要用swift 可以用動態(tài)庫吸附靜態(tài)庫的方式,就是自己制作一個動態(tài)庫包含三方的靜態(tài)庫 合并腳本如下

if [ "${ACTION}" = "build" ]

then

INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.framework

DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework

SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework

if [ -d "${INSTALL_DIR}" ]

then

rm -rf "${INSTALL_DIR}"

fi

mkdir -p "${INSTALL_DIR}"

cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/"

#ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers"

lipo -create "${DEVICE_DIR}/${PROJECT_NAME}" "${SIMULATOR_DIR}/${PROJECT_NAME}" -output "${INSTALL_DIR}/${PROJECT_NAME}"

open "${DEVICE_DIR}"

open "${SRCROOT}/Products"

fi

4.?

添加到私有庫 pod repo add 庫名 庫地址

驗證私有庫 pod lib lint xxx.podspec --后面和push寫法一樣的

寫法?BTUtilLibs % pod repo push BTUtilLibs BTUtilLibs.podspec --sources='http://192.168.8.62:9090/tc-bmapp/BmIos/btspecs.git','https://github.com/CocoaPods/Specs.git' --use-libraries --skip-import-validation --allow-warnings --verbose --skip-tests --use-modular-headers

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容