我有一個靜態庫lipo'd iOS架構和OS X架構(x86_64,i386,armv7,armv7s,arm64)。嘗試鏈接胖二進制文件與64位模擬器目標時出錯
- 64位x86架構是使用MacOSX的SDK
- i386架構是使用iphonesimulator SDK
- ARM體系結構中使用的iPhoneOS SDK
當我試圖鏈接建建建在構建設備或32位iOS模擬器目標時的示例應用程序中生成的庫。但是,當我嘗試建立它在64位的iOS模擬器目標我得到一個鏈接錯誤:
ld: framework not found CoreServices for architecture x86_64
如果我從脂肪庫中它適用於所有的設備和模擬器刪除x86_64的切片。
我認爲這是因爲鏈接器更喜歡x86_64架構,如果它在64位模擬器中。但是由於它是爲macosx SDK編譯和鏈接的,因此它具有編碼的OS X依賴關係。
我試着爲iphonesimulator SDK添加第二個x68_64切片,但是lipo不會讓我。此外,我試圖找到一種方法,使模擬器使用i386架構,即使對於64位版本,但目前還沒有運氣。
如果絕對必要,我可以創建2個二進制文件來解決這個問題,但我真的希望在一個文件中包含它們。有沒有辦法做到這一點?
我認爲你需要2個二進制文件,因爲osx和ios模擬器架構難以區分。 –