我刚刚尝试使用新的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
时,它都会将其恢复为静态库。