ios 静态库合成_iOS : 静态库(.framework)合并
如果寫了一個Framework,根據Build時選擇的機器類型,會分為模擬器Framework和真機Framework,兩者是不能混用的。
此時可以通過配置一個Run Script,在Script中使用lipo命令來合并兩個版本的Framework,重新生成一個新的Framework,這個Framework將同時支持在模擬器和真機上運行。
在項目的Build Phases中,新建一個Run Script,輸入下面內容:
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
當項目再次Build時,就會在項目目錄下面出現Products目錄,里面包含了合并后的Framework文件夾。
使用lipo -info來檢測下:
lipo -info 二進制文件路徑(拖進來即可)
如果出現 :
x86_64 armv7 arm64
說明成功了!!!
iOS靜態庫.Framework制作
首先要解釋一下什么是庫,庫(Library)其實就是一段編譯好的二進制代碼,加上頭文件就可以供別人使用,一般會有兩種情況要用到庫: 某些代碼需要給別人使用,但是我們不希望別人看到源碼,就需要以庫的形式 ...
iOS : 靜態庫制作
一.靜態庫簡介 1. 什么是庫? 庫 就是程序代碼的集合, 是共享程序代碼的一種方式 2. 庫的分類? 開源庫 公開源代碼, 能看到具體實現 例如MJExtension, MJRefresh, AFN ...
iOS 靜態庫,動態庫與 Framework
iOS 靜態庫,動態庫與 Framework ? ? 靜態庫與動態庫的區別 首先來看什么是庫,庫(Library)說白了就是一段編譯好的二進制代碼,加上頭文件就可以供別人使用. 什么時候我們會用到庫呢 ...
iOS靜態庫轉Framework動態庫
參考文章: iOS靜態庫(.a 和framework) ?XCode6制作動態及靜態Framework ?說說iOS中靜態庫的開發 ?dyld: Library not loaded: @rpath/ ...
iOS靜態庫小結--(yoowei)
準備知識: 1.什么是庫? 庫是程序代碼的集合,是共享程序代碼的一種方式 2.根據源代碼的公開情況,庫可以分為2種類型 a.開源庫 公開源代碼,能看到具體實現 ,比如SDWebImage.AFNetw ...
iOS 靜態庫的封裝
參考網址:http://www.jianshu.com/p/b754709135fb http://www.jianshu.com/p/443a5b8f3894 ? 注意:封裝靜態庫時要注意的地方: ...
iOS - 靜態庫的創建與使用
在日常項目開發中,不論是為了兩個公司項目上的業務交流還是為了減少項目的編譯時間,有的時候我們會把項目中的私密內容打包成靜態庫,或者是把項目中變動較少一部分打包成靜態庫以便提高編譯效率,那么下面我們就來 ...
IOS靜態庫
如何在Xcode中創建C++靜態庫 http://jingyan.baidu.com/article/03b2f78c111fca5ea237ae26.html iOS 如何創建和使用靜態庫 http ...
iOS靜態庫 ---iOS-Apple蘋果官方文檔翻譯
iOS靜態庫 ---iOS-Apple蘋果官方文檔翻譯 ?什么是庫? 庫是共享程序代碼的方式,一般分為靜態庫和動態庫.靜態庫與動態庫的區別? 靜態庫:鏈接時完整地拷貝至可執行文件中,被多次使?用就為什 ...
隨機推薦
基礎才是重中之重~ConcurrentDictionary讓你的多線程代碼更優美
回到目錄 ConcurrentDictionary是.net4.0推出的一套線程安全集合里的其中一個,和它一起被發行的還有ConcurrentStack,ConcurrentQueue等類型,它們的單 ...
刪除(注意,刪除后,后面頂上去,所以id會一直變,所以我們用class來定義,因為id是唯一的)
刪除de $(".delete").on("click",function(){ var id = $(this).attr("value" ...
2015廣東工業大學ACM學校巡回賽 I 游戲高手 (如壓力dp)
Problem I: 游戲王 Description 小學的時候,Stubird很喜歡玩游戲王.有一天,他發現了一個絕佳的連鎖組合,這個連鎖組合須要6張卡. 但是他一張都沒有,但是他的那些朋友們有.只 ...
多個AsynceTask無法同時運行的現象分析
關于這篇博客所提到的問題是在一段再簡單不過的代碼中意外出現的.當時我使用了兩個不同'AsyncTask'幫助我執行兩個需要在后臺執行任務.并且這兩個'AsyncTask'幾乎是同時運行的.原本會正常運 ...
SSL證書指令
轉自:http://blog.csdn.net/madding/article/details/26717963 生成Self Signed證書 # 生成一個key,你的私鑰,openssl會提示你輸 ...
python requests庫爬取網頁小實例:ip地址查詢
ip地址查詢的全代碼: 智力使用ip183網站進行ip地址歸屬地的查詢,我們在查詢的過程是通過構造url進行查詢的,將要查詢的ip地址以參數的形式添加在ip183url后面即可. #ip地址查詢的全代 ...
Frameset 框架
Confluence 6 管理協同編輯 - 代理和 SSL 的考慮
對于你如何連接? Synchrony 是與你的環境有關的.我們知道絕大部分的 Confluence 站點是運行在反向代理后面的,同時還使用了 SSL.這里是幫助你在你環境中識別正確的配置的一些信息和一 ...
@+id/和android:id有什么區別?
Any View object may have an integer ID associated with it, to uniquely identify the View within the ...
元組,列表的增刪改查, for,range 循環
1. list(增刪改查) 列表可以裝大量的數據. 不限制數據類型. 表示方式:[] 方括號中的每一項用逗號隔開 列表和字符串一樣.也有索引和切片 常用的功能: 1. 增: append() 2. 刪 ...
總結
以上是生活随笔為你收集整理的ios 静态库合成_iOS : 静态库(.framework)合并的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2019 配色_这个双11,凯里-欧
- 下一篇: python中递归函数基例_智慧树pyt