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