2012-10-04 42 views
15

我想補充RevMob在我的應用程序添加,但也存在一些誤區生成錯誤,同時添加revmob廣告在iOS應用

Undefined symbols for architecture i386: 
"_OBJC_CLASS_$_SKStoreProductViewController", referenced from: 
    objc-class-ref in RevMobAds(RevMobStoreController.o) 
"_SKStoreProductParameterITunesItemIdentifier", referenced from: 
    -[RevMobStoreController openStoreWithITunesItemId:] in RevMobAds(RevMobStoreController.o) 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我加入StoreKitSystemConfigurationRevMob框架了。 我正在使用Xcode4.3和ios4.2 Plz幫助我。 在此先感謝。

回答

39

您需要添加StoreKit框架

編輯:我現在你的意思,有一個與舊版本的問題看,我加入一個鏈接到編輯框架來解決這個問題:Edited Revmob Framework

+0

感謝XIII現在我沒有任何錯誤 – Arpi

+0

歡迎您,請按複選標記將答案標記爲正確在左邊,這是人們知道其他人有用答案的唯一方式。 – XIII

0

當您在xcode中手動刪除文件時,文件不會複製到Bundle中。所以「SKStoreProductViewController.m」是該文件沒有被複制到軟件包中,因此發生錯誤。解決錯誤。將文件僅拖到Copy Bundle Resource(如圖所示)enter image description here

+0

但我沒有任何「SKStoreProductViewController.m」文件。當我爲RevMob編寫代碼並添加上述框架時會發生此錯誤。 – Arpi

+0

在Copy Bundle資源中,如果您的應用程序中缺少該文件,您是否找到任何紅色文件。您指定的錯誤意味着您的應用程序丟失了文件 – Sumanth

+0

否捆綁資源中沒有紅色文件 – Arpi

0

他們發佈了一個新的SDK版本(4.6.0),該版本可以在舊版Xcode上完美工作!

2

它看起來像你現在的廣告sdk不包括支持與模擬器一起使用。

- [RevMobStoreController openStoreWithITunesItemId:在RevMobAds(RevMobStoreController.o) LD:符號(S)沒有找到i386硬件架構

,如果你得到任何東西,提到了 「找不到架構」 的意思revmob不包括在模擬器上運行的類。你有2個選擇。尋找一個缺失的庫「.a文件」或者只編譯在設備上進行測試。

我遇到了新的ios6問題,其中revmob不支持新的iphone 5 armv7s架構。

仔細檢查您的revmob安裝或嘗試編譯到您的手機,而不是模擬器

0

如果您從項目中刪除一個文件,然後重新創建它也會出現這種錯誤。有時Xcode不會自動將其重新包含在「編譯源」框中(當您單擊目標時)。 選中該框並查看是否包含所有源文件,如果沒有,則將其拖入並重建。

9

必須鏈接StoreKit.framework

0

這也發生在Appirater。我得到這個消息:

Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_SKStoreProductViewController", referenced from: objc-class-ref in Appirater.o "_SKStoreProductParameterITunesItemIdentifier", referenced from: +[Appirater rateApp] in Appirater.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

---要解決---

  1. 中添加StoreKit.framwork - > BuildPhases
  2. ---欠>鏈接庫與庫
  3. 如果您有多個目標,則可能需要將 StoreKit.framwork添加到這兩個目標。
0

我面臨着類似的問題和長期的搜索和檢查樣本RevMob代碼後,我發現這個解決方案,可幫助他人:

根據項目目標,選擇生成設置,下部署,檢查iOS部署目標,將值更改爲'iOS 9.0'或更高。

我希望這個幫助。