【发布时间】:2016-10-29 10:07:33
【问题描述】:
Xcode:8.1
语言:Objective-C
我可以在我的 iPhone 上运行该项目,但不能在模拟器上运行。
我试过了:
1)删除DerivedData文件夹的所有数据
2)清理项目并重新启动项目。
3) 删除资源文件夹。
但这没有用!
【问题讨论】:
-
This 答案对我来说适用于 cocoapods 版本 - 1.1.0
Xcode:8.1
语言:Objective-C
我可以在我的 iPhone 上运行该项目,但不能在模拟器上运行。
我试过了:
1)删除DerivedData文件夹的所有数据
2)清理项目并重新启动项目。
3) 删除资源文件夹。
但这没有用!
【问题讨论】:
对于那些无法更新 Cocoapods 或将 Xcode 恢复到 8.0 的人来说,这里有一个对我有用的解决方案:
Pods
New File...
Property List
Pods-Info.plist 的名称保存文件(例如)并将其留空Pods
Pods项目,然后选择Build Settings
Info.plist
Info.plist File的值设置为Pods-Info.plist
【讨论】:
你在使用 CocoaPods 吗? 更新 CocoaPods 本身 + 然后我所有的 pod 都工作了。
注意:这是在今天 Xcode 自动更新之后。
【讨论】:
我遇到了同样的问题。我做了以下步骤,它解决了。在导航中选择 Pods --> TARGETS --> your FDTakeResources --> Signing(Enable Development Signing) --> Identity(Choose Info.plist File)。然后我可以在我的模拟器上运行它。
【讨论】:
这不是主题启动器的解决方案,但是在我的情况下,我在 CocoaPods 构建后嵌入框架操作尝试签署任何框架时收到了关于“无法识别、无效或不合适的捆绑格式”的错误。更重要的是,只有在 Jenkins 上运行构建时才会重现该问题。
原因真的很愚蠢。 Jenkins 使用的是自定义输出目录,该目录在中间包含空格字符。 CP 构建后生成的脚本无法正确处理带有空格的路径,因此实际上没有为协同设计工具提供正确的框架路径。
解决方案:仔细检查您的路径中是否有空格 :)
希望这会帮助某人节省一些时间:)
【讨论】:
另一件需要注意的事情是,如果某些东西被放入了不应存在的输出文件夹中或从该输出文件夹中删除。例如,在我们的旧版本中,我们将文档放入现在已签名的输出文件夹中。现在我们不能这样做,我们必须把它放在签名的输出文件夹旁边。将其移出解决了无法识别的捆绑格式错误。希望这可以帮助某人。
【讨论】:
我在 CocoaPods 0.39.0 中看到了类似的问题,最后我通过修改我的 pod 规格解决了它:
注释掉
s.resource_bundles = {
'DHSErdi' => ['Pod/Assets/*.png']
}
然后添加这个
s.resources = ['Pod/Assets/*.xib', 'Pod/Assets/*.png', 'Pod/Assets/*.jpg', 'Pod/Assets/*.html', 'Pod/Assets/javascript/dist/**/*.js','Pod/Assets/javascript/src/**/*.html']
【讨论】: