我使用 RevMob 作为广告来源已有一段时间了。他们最近刚刚推出奖励视频广告,所以我尝试添加他们的新框架。当我将新框架拖到我的 Xcode 项目(与现有框架同名:RevMobAds.framework)时,我立即收到错误消息。我很快删除了框架,但我的项目中仍然有 8 个错误:Apple Mach O-Linker 错误。我查了很多这方面的资料,这是我尝试过的:
将 $(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)
如有任何帮助,我们将不胜感激。我不会再乱搞视频广告了,我只想让我的项目恢复原状,没有错误!谢谢大家!
最佳答案
我之前遇到过同样的问题,尝试将 AVFoundation 和 CoreLocation 框架添加到您的项目中。
关于ios - Apple Mach O-Linker 错误 Xcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448724/