2014-11-02 71 views
1

我試圖在模擬器上啓動我的iOS應用程序,但它不起作用。在手機上運行應用程序通常可以正常工作。這與我的Admon集成有關。模擬器運行平穩之前。我正在使用Xcode 6.1。iOS模擬器鏈接器命令失敗

我添加了所有必需的框架:

AdSupport 
AudioToolbox 
AVFoundation 
CoreGraphics 
CoreTelephony 
EventKit 
EventKitUI 
MessageUI 
StoreKit 
SystemConfiguration 
as well as libGoogleAdMobAds.a 

我得到的錯誤是:

ld: warning: ignoring file /Users/XXXXXXX/Documents/app1/app1/AdSupport.framework/AdSupport, missing required architecture i386 in file /Users/XXXXXXX/Documents/app1/app1/AdSupport.framework/AdSupport (3 slices) 
Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_ASIdentifierManager", referenced from: 
     objc-class-ref in libGoogleAdMobAds.a(GADDevice.o) 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+0

添加AdSupport.framework程式在您的項目。 – Rumin 2014-11-02 16:25:44

+0

它已被添加。但模擬器失敗並出現給定錯誤 – Michael 2014-11-02 16:29:49

+0

在您的問題中包含您已添加到項目中的所有框架列表。如果沒有缺失任何框架,請嘗試再次添加libGoogleAdMobAds.a – Rumin 2014-11-02 16:43:26

回答

0

進入「信息」,在項目設置和清庫搜索路徑,然後再重新添加libGoogleAdMobAds.a框架

0

該庫最有可能不包含任何i386二進制片。它可能包含設備的切片 - 3個「iPhone」體系結構:armv7,armv7s,arm64 - 但不包括在您的計算機上運行的模擬器體系結構。 由於找不到二進制片段,鏈接器缺少符號來生成i386可執行文件,並且無法在模擬器中運行。

+0

感謝Dominik和acoomans,但顯然這個檔案支持armv7,armv7s,u386m x86_64和arm64)所以這不應該是問題 – Michael 2014-11-03 09:53:46

+0

我想我發現了問題!它不是缺少所需分片的libGoogleAdMobAds.a,而是AdSupport.framework!如果我在框架內運行文件AdSupport,我只得到3片,i386丟失!那麼我在哪裏可以獲得完整的框架? (再次感謝文件命令,我是這個東西的新手) – Michael 2014-11-03 10:14:32

0

您從哪裏獲得AdSupport.framework?我現在意識到它在你的Documents目錄中。與圖書館

enter image description here

然後編階段>鏈接二:

通常你應該在Xcode鏈接的目標,在目標設置要

enter image description here

搜索「 AdSupport「,它應該在iOS8.1下:

enter image description here

圖書館應該有:

enter image description here

相關問題