2015-08-17 60 views
0

我有一個Objective-C靜態庫,我想將其添加到我的Swift項目中。第一個問題是該庫沒有x86_64要求。當然,我在我的目標的Build Settings下刪除了它,而只包括arm64,armv7armv7s。我選擇了這些基於脫脣輸出爲我的圖書館:即使在刪除x86_64需求後仍缺少必需的體系結構x86_64

lipo -info libMobileImagingEngine.a 
Architectures in the fat file: libMobileImagingEngine.a are: arm64 armv7 armv7s 

這裏是我的架構表的屏幕帽: enter image description here

但我仍然得到兩個警告:

忽略文件[filepath here]缺少必需的體系結構i386在 文件[filepath again](3個片)

在 文件[文件路徑再次](3片)忽略文件[文件路徑這裏]缺少所需的體系結構x86_64的

+0

你的框架或庫是爲特定的設備體系結構而構建的,那麼它將只適用於特定的體系結構。檢查你的框架或庫架構,否則爲特定的架構重新構建。使用以下命令檢查文件''xcrun -sdk iphoneos lipo -info $(FILENAME)'' –

+0

@Dipen文件的體系結構庫將編譯的arch已知,並將該輸出放入我的問題中。我的問題似乎與Xcode一樣,仍然需要i386和x86_64,即使我從Build Settings的「體系結構」選項卡中刪除了這些問題。 – Cole

+1

你會試圖在i386上構建的模擬器中運行應用程序,並且您的庫不是爲此構建的,請嘗試在設備上運行應用程序,它將起作用。 –

回答

2

Dipen了一個好點的有關運行模擬器上的應用程序,而且似乎成爲問題。我能夠找到我正在使用的庫的另一個版本,並且也導入了該庫。現在,Xcode將簡單地忽略每個運行設備的無關特性。

相關問題