在iOS应用中添加revmob广告时出现错误
我想添加RevMob添加在我的应用程序,但有一些错误
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)
我已经添加了StoreKit
, SystemConfiguration
和RevMob
框架。 我正在使用Xcode4.3和ios4.2 Plz帮助我。 提前致谢。
您需要添加StoreKit框架
编辑:我现在看到你的意思,有一个旧版本的问题,我添加一个编辑的框架,以解决这个问题的链接: 编辑Revmob框架
您必须链接到StoreKit.framework
它看起来像你现在的广告SDK不包括使用模拟器的支持。
RevMobAds(RevMobStoreController.o)中的[RevMobStoreController openStoreWithITunesItemId:] ld: 符号(s)not found for architecture i386
如果你得到任何提到“没有findbuild筑”意味着revmob没有包括在模拟器上运行的类。 你有2个select。 寻找一个缺less的库“.a文件”或只编译在设备上进行testing。
我遇到了一个新的ios6,其中revmob不支持新的iphone 5 armv7s架构的问题。
仔细检查您的revmob安装或尝试编译到您的手机,而不是模拟器
当您在xcode中手动删除文件时,文件不会被复制到Bundle中。 所以“SKStoreProductViewController.m”是没有被复制到文件夹中的文件,所以发生错误。 解决错误。 将文件仅.m文件拖到Copy Bundle Resource
,如图所示
如果您从项目中移除文件并重新创build文件,也会发生此错误。 有时Xcode不会自动将其重新包含在“编译源代码”框中(当您单击目标时)。 选中该框,查看是否包含所有源文件,如果没有,则将其拖入并重build。
他们发布了一个新的SDK版本(4.6.0),完全适用于旧的Xcode版本!
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)
– -修理 – –
- 在 – > BuildPhases中添加StoreKit.framwork
- —下 – >与库链接库
- 如果您有多个目标,则可能需要将StoreKit.framwork添加到两个目标。
我面临类似的问题,经过漫长的search和检查样本RevMob代码,我发现这个解决scheme,可能会帮助别人:
在项目目标下,select“ 生成设置” ,在“ 部署 ”下,选中“ iOS部署目标” ,将值更改为“ iOS 9.0 ”或更高。
我希望这个帮助。