我想补充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框架
它看起来像你现在不包括与仿真器使用的支持广告SDK。
- [RevMobStoreController openStoreWithITunesItemId:]在RevMobAds(RevMobStoreController.o)LD: 符号(多个)未找到i386硬件架构
如果你得到任何东西,提到了“没有发现建筑”是指revmob didnt包括类模拟器上运行。 你有2种选择。 寻找失踪的库名为“.a文件”或只编译为一个设备上测试。
我跑进新iOS6的地方revmob不支持新的iPhone 5 armv7s架构的问题。
仔细检查您的revmob安装或尝试编译到您的手机,而不是模拟器
当你在Xcode中手动丢弃的文件的文件不会被复制到包。 因此,“SKStoreProductViewController.m”是在包不会被复制,从而发生错误的文件。 要解决此错误。 将文件拖动只.m文件来Copy Bundle Resource
作为显示的图像
如果您从项目中删除一个文件,然后重新创建它也会出现这种错误。 有时Xcode中不会自动重新将其包含在“编译来源”对话框(当你点击的目标)。 选中该复选框,看看是否所有的源文件都包括在内,如果没有则在拖他们和重建。
他们发布了新的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)
- -修理 - -
- 添加StoreKit.framwork在 - > BuildPhases
- ---欠>链接库与库
- 如果你有一个以上的目标,你可能需要在StoreKit.framwork添加到这两个目标。
我面临着类似的问题和长期的搜索和检查样本RevMob代码后,我发现这个解决方案,可帮助别人:
根据项目目标,选择Build设置 , 部署下,选中iOS的部署目标 ,将值更改为的iOS 9.0“或以上。
我希望这帮助。