我现在已经使用RevMob作为广告来源了一段时间。最近他们推出了奖励视频广告,所以我尝试添加他们的新框架。当我将新框架拖入我的Xcode项目(与现有框架名称相同的名称:RevMobAds.framework)时,我立刻遇到了错误。我很快删除了框架,但我的项目仍有8个错误:Apple Mach O-Linker Error。我已经查了很多这个,这就是我尝试过的:
仅将$(ARCHS_STANDARD_INCLUDING_64_BIT)添加到架构构建活动架构中
设为'否'对于有效的架构'
设置为arm64,armv7和armv7s
删除了DerivedData文件夹及其内容,清理并构建 再次
以下是我的错误:(以粗体显示的所有内容均以红色突出显示错误)
Undefined symbols for architecture x86_64: "_AVMediaTypeVideo",
referenced from:
-[RevMobDeviceInfo cameraPermission] in RevMobAds(RevMobDeviceInfo.o)
___99-[RevMobFullscreen proceedLoadWithSuccessHandler:andLoadFailHandler:onClickHandler:onCloseHandler:]_block_invoke106
in RevMobAds(RevMobFullscreen.o) "_OBJC_CLASS_$_AVCaptureDevice",
referenced from:
objc-class-ref in RevMobAds(RevMobDeviceInfo.o) "_OBJC_CLASS_$_AVURLAsset", referenced from:
objc-class-ref in RevMobAds(RevMobFullscreen.o) "_OBJC_CLASS_$_CLBeaconRegion", referenced from:
objc-class-ref in RevMobAds(RevMobBeaconManager.o) "_OBJC_CLASS_$_CLLocationManager", referenced from:
objc-class-ref in RevMobAds(RevMobDeviceInfo.o)
objc-class-ref in RevMobAds(RevMobBeaconManager.o) "_kCLDistanceFilterNone", referenced from:
-[RevMobDeviceInfo getUserLocation] in RevMobAds(RevMobDeviceInfo.o) "_kCLLocationAccuracyBest",
referenced from:
-[RevMobDeviceInfo getUserLocation] in RevMobAds(RevMobDeviceInfo.o) ld: symbol(s) not found for architecture
x86_64 clang: error: linker command failed with exit code 1 (use -v
to see invocation)
非常感谢任何帮助。我不会再讨论视频广告了,我只是想让我的项目恢复原状,没有任何错误!谢谢大家!
答案 0 :(得分:6)
之前我遇到过同样的问题,尝试将AVFoundation和CoreLocation框架添加到您的项目中。
答案 1 :(得分:0)
如果您将CoreLocation添加到您的应用程序,但是将其复制而不是执行相对框架链接,也会发生这种情况...所以请检查以确保您没有错误地将CoreLocation.framework复制到您的应用程序中。