xcode 6 beta 7:已添加修改或删除已签名的资源.

hsa*_*rya 12 xcode xcode6-beta6

当我在设备上运行应用程序后清理,删除派生数据时,第一次运行时没有任何问题.第二次,当我试图运行时,它说"已添加修改或删除已签名的资源".

在模拟器应用程序运行没有问题.

我认为这是因为扩展,我有编辑,分享和今天的扩展,当我删除这些扩展,然后我可以第二次运行没有此消息.

从xcode 6 beta 5开始出现问题.

也许与配置文件和签名有关的问题?我为每个扩展目标创建了不同的配置文件.

所以我的问题是,我该如何解决这个问题呢?如何在没有清洁项目的情况下第二次在设备上运行?

Clo*_* Xu 21

它仍未在XCode 6 RTM中修复.但我发现很容易走动.只需删除构建下的ShareExtension.appex文件夹即可.然后再次重建.您不需要清理项目,因此重建速度非常快.

实际上是别名执行清理的命令

rm -rf ~/Library/Developer/Xcode/DerivedData/<your_app>-*/Build/Products/Debug-iphoneos/ShareExtension.appex/
Run Code Online (Sandbox Code Playgroud)

  • 是的,所以这会从构建中删除应用程序扩展.但是,如果您希望应用扩展程序最终在您的设备上,该怎么办?! (2认同)

dmz*_*zza 6

我稍微修改了Cloud Xu的脚本来删除.appex和.appex.dSYM

rm -rf ~/Library/Developer/Xcode/DerivedData/YourAppName-*/Build/Products/Debug-iphoneos/com.yourcompany.Name.extension.*
Run Code Online (Sandbox Code Playgroud)

您可以将它放在您的方案中,以便它在每个构建中执行:

编辑方案...>展开侧栏中的运行模式>预操作>单击"+">"新建运行脚本操作".


hsa*_*rya 5

编辑: 还有另一种解决方法:对于包含.swift文件的每个扩展目标,在项目运行方案配置中添加构建预执行:

touch "${PROJECT_DIR}/SOME SWIFT FILE IN EXTENSION.SWIFT"
Run Code Online (Sandbox Code Playgroud)

所以我找到了解决这个问题的方法.目前我们不能在扩展中使用快速代码.如评论中所述

删除包含swift代码的所有扩展目标后,它开始正常工作.我认为这是xcode中的一个错误,现在如果我们使用swift代码进行扩展,不知道为什么,但第二次运行会给出"已添加修改或删除已签名的资源".错误.