使用 Xcode 8 Beta 3 尝试 运行 我的应用程序时出错
Error while attempting to run my app using Xcode 8 Beta 3
我知道很多人在尝试在 Xcode 8 Beta 3 中编译他们的应用程序时遇到此错误,但是 none 这里的可用答案似乎对我有所帮助。
在尝试 运行 我的应用程序时,我遇到了常见的错误:(null): Found an unexpected Mach-O header code: 0x72613c21
,当我扩展信息时,我在 return 中得到了这个:
Effective srcDirs: {(
<DVTFilePath:0x6000008bb0c0:'/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos'>,
<DVTFilePath:0x6080002a00c0:'/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/swift/iphoneos'>
)}
error: Found an unexpected Mach-O header code: 0x72613c21
注意:我在文件路径中看到有关 Swift_2.3
的内容,这可能会导致一些答案,但我不确定。
也可能是我的 Podfile 有问题,所以我按照 this Whosebug answer 中发布的说明将以下代码行粘贴到我的 podfile 中,这样最后我的 podfile 看起来像这样:
# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
target 'Roast' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'Firebase/Auth'
pod 'Firebase/AdMob'
pod 'JSQMessagesViewController'
target 'RoastTests' do
inherit! :search_paths
# Pods for testing
end
end
target 'RoastKeyboard' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'Firebase/Auth'
# Pods for RoastKeyboard
end
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
我更新了我的 pods。
然而,这实际上什么也没做。
这是一个非常烦人的错误,因为我刚刚花了最后两个小时修复我的代码中的错误,现在我得到一个错误,这甚至可能不是我的错。
如果有人能帮助我,那就太好了。谢谢!
看起来这个问题已在 Xcode 8.0 (beta 4). 中修复。所以你不需要尝试下面的东西。
问题似乎是 Xcode 与工具链目录路径混淆,当构建包括 swift 和 objc headers.
一种修复方法是
- 修补 SDK header 文件以便与编译器一起使用(愚蠢的东西
不喜欢新的 headers! ) 或
- 使用旧的 header 文件(
很棒,但有些东西 work/exist 不再一样了! ) 或
- 在 Makefile 中使用以下设置以避免警告和
编译和链接期间的错误:
CC=/usr/bin/clang
CFLAGS=-fsigned-char -g -ObjC -fobjc-exceptions \
-墙 -Wundeclared-selector -Wreturn-type -Wnested-externs \
-Wredundant-decls\
-Wbad-function-cast\
-Wchar-subscripts\
-Winline -Wswitch -Wshadow \
-I/var/include\
-I/var/include/gcc/darwin/4.0 \
-D_CTYPE_H_\
-D_BSD_ARM_SETJMP_H\
-D_UNISTD_H_
CPPFLAGS=
LD=$(CC)
LDFLAGS=-lobjc\
-F/System/Library/Frameworks\
-框架CoreFoundation \
-框架基础\
-框架 UIKit \
-框架CoreGraphics \
-L/usr/lib -lc /usr/lib/libgcc_s.1.dylib \
-bind_at_load\
-multiply_defined压制
我知道很多人在尝试在 Xcode 8 Beta 3 中编译他们的应用程序时遇到此错误,但是 none 这里的可用答案似乎对我有所帮助。
在尝试 运行 我的应用程序时,我遇到了常见的错误:(null): Found an unexpected Mach-O header code: 0x72613c21
,当我扩展信息时,我在 return 中得到了这个:
Effective srcDirs: {(
<DVTFilePath:0x6000008bb0c0:'/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos'>,
<DVTFilePath:0x6080002a00c0:'/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/swift/iphoneos'>
)}
error: Found an unexpected Mach-O header code: 0x72613c21
注意:我在文件路径中看到有关 Swift_2.3
的内容,这可能会导致一些答案,但我不确定。
也可能是我的 Podfile 有问题,所以我按照 this Whosebug answer 中发布的说明将以下代码行粘贴到我的 podfile 中,这样最后我的 podfile 看起来像这样:
# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
target 'Roast' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'Firebase/Auth'
pod 'Firebase/AdMob'
pod 'JSQMessagesViewController'
target 'RoastTests' do
inherit! :search_paths
# Pods for testing
end
end
target 'RoastKeyboard' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'Firebase/Auth'
# Pods for RoastKeyboard
end
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
我更新了我的 pods。
然而,这实际上什么也没做。
这是一个非常烦人的错误,因为我刚刚花了最后两个小时修复我的代码中的错误,现在我得到一个错误,这甚至可能不是我的错。
如果有人能帮助我,那就太好了。谢谢!
看起来这个问题已在 Xcode 8.0 (beta 4). 中修复。所以你不需要尝试下面的东西。
问题似乎是 Xcode 与工具链目录路径混淆,当构建包括 swift 和 objc headers.
一种修复方法是
- 修补 SDK header 文件以便与编译器一起使用(愚蠢的东西 不喜欢新的 headers! ) 或
- 使用旧的 header 文件( 很棒,但有些东西 work/exist 不再一样了! ) 或
- 在 Makefile 中使用以下设置以避免警告和 编译和链接期间的错误:
CC=/usr/bin/clang
CFLAGS=-fsigned-char -g -ObjC -fobjc-exceptions \ -墙 -Wundeclared-selector -Wreturn-type -Wnested-externs \ -Wredundant-decls\ -Wbad-function-cast\ -Wchar-subscripts\ -Winline -Wswitch -Wshadow \ -I/var/include\ -I/var/include/gcc/darwin/4.0 \ -D_CTYPE_H_\ -D_BSD_ARM_SETJMP_H\ -D_UNISTD_H_
CPPFLAGS=
LD=$(CC)
LDFLAGS=-lobjc\ -F/System/Library/Frameworks\ -框架CoreFoundation \ -框架基础\ -框架 UIKit \ -框架CoreGraphics \ -L/usr/lib -lc /usr/lib/libgcc_s.1.dylib \ -bind_at_load\ -multiply_defined压制