2016-04-25 46 views
0
NSBundle *customBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"CustomBundle" ofType:@"bundle"]]; 

当我执行上面的代码时,它在调试模式和专用生成中返回customBundle。但是当我在TestFlight Build/App Store Build中使用32位设备执行时,它返回nil。此外customBundle通过CocoaPods添加到主包。我正在使用Xcode 7.3。在NSBundle中加载自定义NSBundle

我有这个奇怪的错误只适用于iOS 9+,它适用于iOS 8。对于iOS 8,它适用于所有Build/Adhoc/Appstore构建,包括所有32位和64位设备。

回答

1

我有同样的问题。

因为关键UIRequiredDeviceCapabilities的这个bug加入由Xcode中,当你建立在64位器件捆捆里面的Info.plist。(在调试模式捆绑打造只为唯一的活动架构)

<key>UIRequiredDeviceCapabilities</key> 
    <array> 
     <string>arm64</string> 
    </array> 

你可以通过删除info.plist中的UIRequiredDeviceCapabilities键来解决这个问题,或者只是用32位设备重新生成捆绑包并更新podspec。