同事寫的更好,在此奉上;
由於ios framework打包出來是分cpu指令集的,所以需要每個cpu指令集都打包乙個framework,然後使用lipo -create
命令將所有cpu指令集合併,才能形成乙個相容所有裝置和模擬器的framework。這樣的打包流程複雜而繁瑣,對於需要經常打包測試的需求來說明顯是不合適的。
使用xcodeaggregate
工具中的run script
自動進行不同cpu指令集打包,並自動合併所有cpu指令集
mac處理器
指令集裝置
支援裝置
arm64
真機64位
iphone6s、iphone6s plus、iphone6、iphone6 plus、iphone5s、ipad air、 ipad mini2
armv7s
真機32位
iphone5、iphone5c、ipad4(ipad with retina display)
armv7
真機32位
iphone4、iphone4s、ipad、ipad2、ipad3(the new ipad)、ipad mini、ipod touch 3g、ipod touch4
i386
模擬器32位
針對intel通用微處理器32位處理器
x86_64
模擬器64位
針對x86架構的64位處理器
# 工程名稱
# 如果工程名稱和framework的target名稱不一樣的 話,要自定義fmkname
# 例如: fmk_name = "myframework"
fmk_name=$
# 工程info.list路徑
infoplist=$/$/info.plist
# 工程version
version=$(/usr/libexec/plistbuddy -c "print cfbundleshortversionstring" $infoplist)
version=$
# 工程build
build=$(/usr/libexec/plistbuddy -c "print cfbundleversion" $infoplist)
# sdk資料夾名稱
sdkfilepath=$/$_$_$
# 檔案路徑是否存在
if [ -d "$" ]
then
rm -rf "$"
fimkdir -p "$"
# 當前時間
updatadate=`date +%f`
# 將資訊寫入檔案
updatafilename=$/version.md
touch $
echo 版本:$ >> $
echo 編譯:$ >> $
echo 更新: >> $
# sdk目錄
install_dir=$/$.framework
# working dir will be deleted after the framework creation.
wrk_dir=build
device_dir=$/release-iphoneos/$.framework
simulator_dir=$/release-iphonesimulator/$.framework
# -configuration $
# clean and building both architectures.
xcodebuild -configuration "release" -target "$" -sdk iphoneos clean build
xcodebuild -configuration "release" -target "$" -sdk iphonesimulator clean build
# cleaning the oldest.
if [ -d "$" ]
then
rm -rf "$"
fimkdir -p "$"
cp -r "$/" "$/"
# uses the lipo tool to merge both binary files (i386 + armv6/armv7) into one universal final product.
lipo -create "$/$" "$/$" -output "$/$"
rm -r "$"
open "$"
簡單版:
# sets the target folders and the finalframework product.
# 如果工程名稱和framework的target名稱不一樣的話,要自定義fmkname
# 例如: fmk_name = "myframework"
fmk_name=$
# sdk目錄
install_dir=$/products/$.framework
# working dir will be deleted after the framework creation.
wrk_dir=build
device_dir=$/release-iphoneos/$.framework
simulator_dir=$/release-iphonesimulator/$.framework
xcodebuild -configuration "release" -target "$" -sdk iphoneos clean build
xcodebuild -configuration "release" -target "$" -sdk iphonesimulator clean build
# cleaning the oldest.
if [ -d "$" ]
then
rm -rf "$"
fimkdir -p "$"
cp -r "$/" "$/"
# uses the lipo tool to merge both binary files (i386 + armv6/armv7) into one universal final product.
lipo -create "$/$" "$/$" -output "$/$"
rm -r "$"
open "$"
iOS Framework 製作教程
僅支援3.2的xcode 1.開啟xcode建立乙個 cocoa touch static library 工程,並刪除現有的target.2.右鍵project選擇新增new target,在彈出的視窗中找到cocoa 在cocoa右側視窗中選擇 loadable bundle 注意 到這步的時候...
iOS Framework 製作教程
我們使用一種變通的方法來製作 ios framework,廢話不多說,上步驟 1.開啟xcode建立乙個 cocoa touch static library 工程,並刪除現有的target.2.右鍵project選擇新增new target,在彈出的視窗中找到cocoa 在cocoa右側視窗中選擇...
用cmake生成ios framework庫
cmake ios framework 2019 5 5 如果你開發了一套c 要在android和iphone兩種手機上執行,就要在分別編譯android和iphone兩個平台下的動態庫。android開發目前是用 android studio sdk ndk iphone開發是用xcode.當你增...