带有 Xcode 8 测试版的 AWS:发现意外的 Mach-O 标头代码:0x72613c21



我刚刚尝试使用新的Xcode 8测试版构建我以前在Xcode 7下开发的应用程序,并在最新的AWS SKD (2.4.5)上收到以下错误: Found an unexpected Mach-O header code: 0x72613c21

从嵌入式框架中删除所有框架可以消除错误,但会产生一个新错误: bash: /Users/*****/Library/Developer/Xcode/DerivedData/MyApp-gmsydrrvmebbiuarunefhhwwkuty/Build/Products/Debug-iphoneos/MyApp.app/Frameworks/AWSCore.framework/strip-frameworks.sh: No such file or directory

是否有人在 Xcode 8 中遇到类似的错误并可能有修复程序?

如果您使用的是 Swift pods,请将其添加到 Podfile 中,然后检查:

post_install do |installer|  
    installer.pods_project.targets.each do |target|  
        target.build_configurations.each do |config|  
            config.build_settings['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = 'NO'  
        end  
    end  
end  

我从未遇到过构建或运行错误,但是当我尝试验证我的应用程序以进行提交时,我得到了:

2016-09-10 01:35:11 +0000 [MT] 无法生成分发项目 错误:错误域=DVTMachOError域代码=0"找到一个 意外的Mach-O标头代码:0x72613c21" UserInfo={NSLocalizedDescription=发现意外的Mach-O标头 code: 0x72613c21, NSLocalizedRecoverySuggestion=} 2016-09-10 01:35:11 +0000 [MT] 显示:错误域=DVTMachOError域代码=0 "发现意外的 Mach-O 标头代码:0x72613c21" UserInfo={NSLocalizedDescription=发现意外的Mach-O标头 code: 0x72613c21, NSLocalizedRecoverySuggestion=}

有许多用户遇到了这个问题:https://github.com/CocoaPods/CocoaPods/issues/5598https://forums.developer.apple.com/thread/50969

如果您使用cocoapods,目前您应该尝试两种方法:

1:禁用 Podfile 中的ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES,因为错误 2007s 建议。

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = 'NO'
        end
    end
end

记得事后运行pod install

2:将Pods-[YOUR_APP_NAME] Mach-O 类型从静态库更改为动态库。

  • 转到您的 Pod 项目,然后在"目标"下找到您的Pods-[YOUR_APP_NAME]
  • 选择Build Settings并按mach筛选
  • 现在应该看到一个设置为静态库的Mach-O Type
  • 将其更改为动态库
  • 存档项目并尝试再次验证

请注意,每当您再次运行pod install时,它都会将其恢复为静态库。

最新更新