Xcode 8构建仅对模拟器失败

时间:2016-11-02 13:12:15

标签: ios objective-c ios-simulator cocoapods xcode8

从昨天起我无法使用Xcode 8.1在iOS 10模拟器上构建和运行我的项目奇怪的是构建和运行对于真实设备来说工作正常。问题是:

  

... / Xcode / DerivedData / Tripla_Doppia-fllujkpnletlmwcswbkopyphtkqd / Build / Products / Debug-iphonesimulator / Appirater.bundle:捆绑包格式无法识别,无效或不适合   命令/ usr / bin / codesign失败,退出代码为1

我尝试清理项目并清理Derived Data的文件夹,但没有任何更改。我正在使用CocoaPods来管理库,包括Appirater pod。构建和运行工作正常,直到上周。有什么建议吗?

这是截图链接:

enter image description here

5 个答案:

答案 0 :(得分:1)

这个问题可能是因为CocoaPods引起的,因为 Francesco 说。

CocoaPods和任何pod都是引用不存在的资源路径可能导致问题。

类似于pods引用不存在的资源路径,

s.resource_bundles = {  
    'aPod' => ['Pod/Assets/*.png']  
}

线程here似乎有所帮助。

答案 1 :(得分:1)

通过提到的thread Ronak Chaniyara,我找到了一个答案给那些不想更新他们的CocoaPods的人。

如果查看Pods项目文件,在目标下,您会注意到所有资源包都没有Info.plist文件集。 使用CocoaPods通用Info.plist设置它们,它将在模拟器上运行。然而,这不是永久性的,因为它将在下一个pod install

重置

如果您正在使用CocoaPods(尤其是旧版本),您会注意到pods项目文件中的所有资源包目标都没有info.plist。 使用CocoaPods通用Info.plist设置它们并且它将运行。 然而,这不是永久的解决方案。它将在下一个pod install

重置

https://forums.developer.apple.com/thread/66538

修改 如果您的项目中没有碰巧的通用plist文件 在Pod Info.plist中创建一个新文件Target Support Files/Pods-<App Name>/并粘贴此

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CFBundleDevelopmentRegion</key>
  <string>en</string>
  <key>CFBundleIdentifier</key>
  <string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
  <key>CFBundleInfoDictionaryVersion</key>
  <string>6.0</string>
  <key>CFBundleName</key>
  <string>${PRODUCT_NAME}</string>
  <key>CFBundlePackageType</key>
  <string>BNDL</string>
  <key>CFBundleShortVersionString</key>
  <string>1.0.0</string>
  <key>CFBundleSignature</key>
  <string>????</string>
  <key>CFBundleVersion</key>
  <string>${CURRENT_PROJECT_VERSION}</string>
  <key>NSPrincipalClass</key>
  <string></string>
</dict>
</plist>

答案 2 :(得分:0)

我尝试更新cocoapods 1.1.1,删除DerivedData,以及几乎所有其他提到的内容。我仍然有同样的问题。我刚升级到Xcode 8.2 beta。现在一切都像我升级到Xcode 8.1之前一样。

答案 3 :(得分:0)

我遇到了这个问题的变体,当我为模拟器构建程序时似乎无法识别Pod(为真实设备构建程序时没有问题)。就我而言,解决方案是从我的Podfile中删除pod,执行pod install,然后重新添加pod并执行另一个pod install。这样就解决了问题。

答案 4 :(得分:0)

在我的情况下,仅由于 Pod目标中的有效架构构建而引起的问题。 设置为“否”,以支持所有可用于安装Pod的设备。