XCode 7 dyld:设置ENABLE_BITCODE = NO

时间:2015-07-10 14:51:41

标签: ios xcode cocoapods bitcode

我已经安装了Xcode 7 beta 3,我可以在模拟器上运行我的代码,但不能在我的设备上运行。我无法建立并收到警告:

ld: warning: directory not found for option '-F/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworks'
ld: -bundle and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together

所以我设置了ENABLE_BITCODE = NO,现在设备已经构建,但是它会因错误而崩溃:

dyld: Symbol not found: __TMdVSS5Index
  Referenced from: /private/var/mobile/Containers/Bundle/Application/75C6AF90-20D1-4CC7-B206-94C8FAD41DEF/BiggerCity.app/Frameworks/Alamofire.framework/Alamofire
  Expected in: /private/var/mobile/Containers/Bundle/Application/75C6AF90-20D1-4CC7-B206-94C8FAD41DEF/BiggerCity.app/Frameworks/libswiftCore.dylib
 in /private/var/mobile/Containers/Bundle/Application/75C6AF90-20D1-4CC7-B206-94C8FAD41DEF/BiggerCity.app/Frameworks/Alamofire.framework/Alamofire

我的Podfile是:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift-2.0'
pod 'PubNub', '3.7.10.8’

有谁知道可能导致此错误的原因?它只发生在我安装Xcode 7之后.Xcode 6运行得很好。

2 个答案:

答案 0 :(得分:2)

我需要清理和删除派生数据。在我这样做之后,我能够在我的设备上运行我的应用程序。

答案 1 :(得分:0)

看起来你(而不是AlamoFire)正在使用Swift,因此你需要在目标 Build Settings 中打开 Embedded Content Contains Swift Code ,在构建应用程序时,Xcode将包含所有Swift .dylib文件。

您可能使用了错误版本的AlamoFire框架,因为使用此特定版本意味着.dylib文件需要与应用捆绑在一起,因此您只能定位iOS 8+。我会寻找在Objective-C中实现的版本。