1.Build Settings配置編譯設(shè)置
Link With Standard Libraries -> NO?
Mach-O Type -> Static Library
Dead Code Stripping -> NO
Enable Bitcode -> YES
STRIP_STYLE -> Debugging Symbols
Other C Flags 添加 -fembed-bitcode
DEPLOYMENT_POSTPROCESSING = NO?(默認(rèn)NO多余)
2.scheme配置成release
3.合成framework
方法1:
1、 framework可以生成真機(jī)和虛擬機(jī)2個(gè)不同的framewrok,不能互通使用晰骑,所以必須要將2個(gè)framework合并才可以。
2威鹿、在終端中輸入一下命令
lipo -create 【模擬器打包path】 【真機(jī)打包path】 -output 【導(dǎo)出兼容版本path】
需要注意的是這個(gè)打包path指的是xxx.framework/xxx文件匾灶,而不是xxx.framework吆豹。導(dǎo)出的path是路徑 + / + 文件名鳍刷,比如我要放到桌面上垫言,則路徑應(yīng)該是 /users/hzh/desktop/xxx
生成的xxx文件替換到真機(jī)path路徑下xxx.framework,覆蓋原來(lái)的xxx文件倾剿。
3、(敲黑板,劃重點(diǎn))如果你是swift前痘,那么你還需要第四步才算完成凛捏,oc完成前面3步即可。將模擬器路徑下xxx.framework/Modules/xxx.swiftmodule文件夾下的所有文件復(fù)制到真機(jī)path路徑下xxx.framework/Modules/xxx.swiftmodule文件夾內(nèi)芹缔。至此framework真機(jī)模擬機(jī)完成坯癣。
方法2:(推薦)
新建一個(gè) Aggregate,并添加腳本
把下面的腳本復(fù)制到 Run Script 里面
# 如果工程名稱(chēng)和 Framework 的 Target 名稱(chēng)不一樣的話(huà)最欠,要自定義 FMKNAME
#FMK_NAME="HelloFrame"
FMK_NAME=${PROJECT_NAME}
# 導(dǎo)出臨時(shí)目錄
INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework
# 編譯臨時(shí)目錄
WRK_DIR=build
DEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework
SIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework
# 編譯設(shè)備和模擬器
xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos #clean build
xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator VALID_ARCHS="i386 x86_64" #clean build
# 清理臨時(shí)目錄
if [ -d "${INSTALL_DIR}" ]
then
rm -rf "${INSTALL_DIR}"
fi
mkdir -p "${INSTALL_DIR}"
cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/"
cp -R "${SIMULATOR_DIR}/Modules/${FMK_NAME}.swiftmodule/" "${INSTALL_DIR}/Modules/${FMK_NAME}.swiftmodule/"
# 合并真機(jī)和模擬器編譯結(jié)果
lipo -create "${DEVICE_DIR}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/${FMK_NAME}"
#導(dǎo)出到項(xiàng)目路徑(改完Frame配置 再改PROJECT_DIR路徑)
PROJECT_DIR="${HOME}/Documents/Soursetree/iOS/sample_mmjrxy_ios/MMFinancialSchool/Request" ###這里需要修改其他拷貝就好!!!###
rm -r "${PROJECT_DIR}/${FMK_NAME}.framework"
cp -R "${INSTALL_DIR}" ${PROJECT_DIR}/${FMK_NAME}.framework
open "${PROJECT_DIR}"
rm -r "${WRK_DIR}"
#open "${INSTALL_DIR}"
選中我們剛才創(chuàng)建的 Aggregate 這個(gè) target示罗,然后 Build,就可以坐等結(jié)果了芝硬。注意這里必須連手機(jī)蚜点。