最近公司接了一個這樣的活,在我眼里感覺很簡單,把第三方庫全部換成最新的不就好了,然后在build setting里的Valid Architectures 加上arm64.
這里補充點知識
arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)
armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)
armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4
i386是針對intel通用微處理器32位處理器
x86_64是針對x86架構的64位處理器
模擬器32位處理器測試需要i386架構,
模擬器64位處理器測試需要x86_64架構,
真機32位處理器需要armv7,或者armv7s架構,
真機64位處理器需要arm64架構。
查看第三發庫支持哪些架構
lipo -info 你要查的.a文件的路徑
//如
Last login: Fri Mar 2 10:16:16 on ttys002
? ~ lipo -info /Volumes/資料/資料包/1112藍牙/物聯網資料/sdk/lib/libavcodec.a
input file /Volumes/資料/資料包/1112藍牙/物聯網資料/sdk/lib/libavcodec.a is not a fat file
Non-fat file: /Volumes/資料/資料包/1112藍牙/物聯網資料/sdk/lib/libavcodec.a is architecture: armv7
? ~ lipo -info /Volumes/資料/源碼/手機視頻直播APP系統開發映客花椒類型直播源碼/LiveDiary-2/LiveDiary/lib/ffmpeg-2.2.1/lib/libavcodec.a
Architectures in the fat file: /Volumes/資料/源碼/手機視頻直播APP系統開發映客花椒類型直播源碼/LiveDiary-2/LiveDiary/lib/ffmpeg-2.2.1/lib/libavcodec.a are: armv7s armv7 arm64
可以看到最后這些就是支持的架構類型.
fat和Non-fat的區別就是包含的多少架構類型.
但是實際上發現本來半天能干完的話花了一天半.
這又是為什么?
碰到點bug.
從網上下載的.a文件不是可以鏈接的可編譯文件.
后面自己下載源文件編譯成.a文件就好了.
解決了感覺就是不過就是這個玩意啊.
記錄一下.
希望自己把基礎再去看看,基礎牢天花板就不會低.
---by 自己