我正在尝试为 iOS 项目更新 Facebook SDK。
最初我有版本 11.2.1。有了这个,一切都像魅力一样。
更新到 12.3.1(最新)后,它可以很好地用于调试。但是,当尝试为 Release 构建时,它会失败并出现以下错误。
<unknown>:0: error: module map file '/Users/XXX/Library/Developer/Xcode/DerivedData/App/Build/Products/Release-iphoneos/FBSDKCoreKit/FBSDKCoreKit.modulemap' not found
<unknown>:0: error: module map file '/Users/XXX/Library/Developer/Xcode/DerivedData/App/Build/Products/Release-iphoneos/FBSDKLoginKit/FBSDKLoginKit.modulemap' not found
<unknown>:0: error: module map file '/Users/XXX/Library/Developer/Xcode/DerivedData/App/Build/Products/Release-iphoneos/FBSDKShareKit/FBSDKShareKit.modulemap' not found
版本 12.0.0(这是 11.2.1 之后的下一个版本)也失败了。
我尝试通过 CocoaPods 和 SPM 安装 SDK(详见此处)。在这两种情况下都失败了。
开发环境/设置:
- MacOS 大苏尔 11.5.2
- 在装有 iOS 14.8.1 的 iPhone 11 上进行测试
- 尝试使用 Xcode 12.5.1 和 13.2.1
- 项目使用 Swift 5
- 项目的部署目标设置为 iOS 13.0
在 Stack Overflow、SDK repo和 SDK old repo中有几个关于此错误的报告。检查它们后,我测试了以下所有内容,但均未成功:
- 我正在打开 .xcworkspace,而不是 .xcproject(如此处所述)
- 我在项目、目标和 Pod 中设置了相同的 iOS 版本(如此处所述)
- 我已经执行了几次全面清理(pod clean + deintegrate、Product > Clean Build Folder in Xcode 以及删除 Derived Data 文件夹)。
- 我尝试将验证工作区设置为是(如此处所述)
- 我已经尝试过在许多线程中解释的排除架构设置搞乱,但没有奏效(这并不让我感到惊讶,因为这些设置是针对在模拟器中运行的,而我正在使用真实设备这样做)。
- 即使对于发布模式,我也将“仅构建活动架构”设置为是(如此处所述)
- 我在 Podfile 安装后玩过以下内容(建议在这里)
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
# Initially I only had this, which ensures that Pods have iOS 13.0 as target
if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 13.0
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
# Then I also tried this
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
# Also tried setting this
config.build_settings["ONLY_ACTIVE_ARCH"] = "YES"
# As well as this
config.build_settings[“EXCLUDED_ARCHS[sdk=iphonesimulator*]“] = “arm64”
end
end
end