在尝试调试在iPhone设备上使用3.2 SDK创建的版本时,我收到消息“已添加,修改或删除已签名的资源。”。
我可以清理,重建,然后安装没有错误,但如果我尝试安装而不清除错误显示。
任何人都知道可能导致这种情况的原因是什么?
答案 0 :(得分:32)
我找到了该错误的解决方法。
如果在构建设备之前删除build / Debug-iphoneos /中的.app文件,则应用程序安装时没有错误。 在每次构建之前都有一种简单的方法可以做到这一点。
确保在下拉列表菜单中选择了“设备”。 在XCode中转到Project>新目标...... 然后在MacOSX / Other下找到“Shell Script target” 为其命名并将其添加到当前项目
现在,在左侧导航面板中的目标下,展开新创建的目标,然后双击“运行脚本”。 在打开的窗口中,将“#shell script goes here”替换为“rm -fr build / Debug-iphoneos / * .app”(不带引号)。 现在打开主目标首选项,在Direct Dependencies下添加新创建的目标。 建立和去! :)
答案 1 :(得分:20)
如果产品名称中包含特殊字符,则会发生此错误。就我而言,这是一个"?"
如果更改产品名称,它会自动更新"捆绑名称"和"捆绑显示名称"所以它通常是重命名应用程序的最佳选择。
如果要在应用名称中包含特殊字符,则必须手动重命名"捆绑名称"和"捆绑显示名称"
捆绑名称:这是文件系统中的实际应用捆绑名称,例如" Awesome App.app"。它通常对用户不可见。
捆绑显示名称:这是设备上应用图标下显示的短名称。由于捆绑名称将被截断为" Awes ... tion"您可以选择更合适的名称,例如" Awesome App"。它应该类似于App Store名称(在iTunes Connect中设置)
答案 2 :(得分:12)
这显然是3.2 SDK中的一个错误,但我不想降级。我发现在推送Command+Shift+K
进行构建之前,通过推送Return
然后Command+R
进行清理非常快。
答案 3 :(得分:3)
这可能有几个原因。找出导致问题的最快方法是进入Xcode,Window菜单,Devices,然后单击窗格底部的“显示”按钮以显示控制台。现在尝试运行。您应该看到日志输出,它命名它抱怨的特定文件。
以前发布的大多数解决方案只是让Xcode重新生成构建文件夹内容和/或重新签名文件的人工方式。
在我的情况下,我的WatchKit扩展程序以某种方式获取了对Cocoapods框架的引用,这些框架仅针对主应用程序,因此它们在构建期间签名,然后稍后进行修剪(因为它们未被使用)。然后在设备上,iOS抱怨他们在扩展名的.appex文件夹中丢失了。我最终不需要扩展中的任何pod,所以我只删除它们并删除扩展作为目标,然后进行一些小的清理以删除构建步骤中留下的pod相关的碎片。现在一切都很完美。
答案 4 :(得分:3)
Xcode 8,"已添加,修改或删除已签名资源的原因。"是否已使用企业供应配置文件签署该目标。
答案 5 :(得分:2)
(已解决)这是一个奇怪的问题。我尝试了所有能找到的东西。最后我将产品名称从“单元测试(设备)”更改为“设备单元测试” - 删除括号。现在一切正常。它中的空格看起来很好。
以前在stackoverflow上: 我刚刚遇到两个静态库项目的bug。一个人在设备上使用GHUnit测试运行器构建和测试没有问题。其他项目将无法安装并出现此错误。这意味着这两个项目之间存在差异。到目前为止,我已经尝试擦除构建目录,从可执行文件名中取出空格,并按照此处的建议进行各种清理和构建。
答案 6 :(得分:1)
在我的情况下,它发生在没有进行任何更改时。对任何文件进行更改并再次运行。
答案 7 :(得分:1)
当我使用xcodebuild命令通过终端创建ipa时,ipa已创建,但在安装时我遇到了同样的错误。 exportOptionsPlist解决了我的问题。
xcodebuild -exportArchive -archivePath projectPath/myapp.xcarchive -exportPath projectPath/myApp.ipa -exportOptionsPlist ProjectFolder/exportPlist.plist
答案 8 :(得分:1)
最简单(也可能是最常见的原因)似乎是重建而没有任何变化。
因此,最简单的方法就是对源文件进行微不足道的更改(例如添加空格,然后删除它),然后重建。
如果这不起作用,请随时尝试所有其他答案。
几个月来,我发现这个错误而没有意识到这是由于这么简单的原因。我通常会做一个Clean Build来摆脱它。
答案 9 :(得分:1)
我得到同样的错误,但间歇性地。我尝试了以上所有,但仍然无法正常工作。今天我发现了导致它的原因。
在界面构建器中编辑xib时似乎发生错误。如果在xcode中打开界面构建器时尝试运行,则会导致上述错误。要解决关闭界面构建器编辑器。即只需从项目中选择一个代码文件,这样您就可以进入源代码编辑器。
答案 10 :(得分:1)
答案 11 :(得分:1)
解决了我的问题!!!
我偶然发现某个空格“”发现它进入我的应用程序的产品名称,所以它被称为“First Second.app”而不是“FirstSecond.app”。删除空格后,问题就消失了!
我在这里改了: 右键单击目标 获取信息 构建选项卡 包装部分 产品名称< - 此处的名称将用于捆绑(.app)名称
希望这有帮助,让我知道!
干杯, 尼尔斯
答案 12 :(得分:1)
对我而言,认为它与多个目标等有关,因为我在那里做了很多改变。但很有可能它是3.2.2版本中的一个Bug,因为在我的项目中大规模目标发生变化之前,我没有在这个sdk版本中进行过广泛测试。
答案 13 :(得分:0)
在我的情况下,退出并重新启动XCode。
答案 14 :(得分:0)
这是一个非常一般的错误消息,表明在代码签名的验证过程中出现了问题。要找出具体的错误,您可以转到Xcode-> Window-> Devices并检查您的设备日志。
在我的情况下,我有以下控制台喷出
Feb 1 18:53:07 iPod-touch installd [40]:0x1001f8000 - [MICodeSigningVerifier performValidationWithError:]:192:无法验证代码签名:0xe8008017(已添加,删除或修改已签名的资源)
再次检查这个第三方框架,我在框架根目录下找到了一个额外的CodeResources文件。删除该文件解决了问题。
答案 15 :(得分:0)
我们在XCode_6.3.1上遇到了这个问题。我们正在构建一个带有扩展名的AppleWatch应用程序。我们确实有一堆Pods。经过近几个小时的调试后,我们发现文件加入项目的方式存在问题。
似乎有些未使用文件的引用位于iPhone应用程序中,虽然它在Watch App中使用过。事实证明,XCode显示的错误完全没用。
删除此文件并将其重新添加回项目后,项目开始正常运行能够安装到设备。为了使调试问题更加困难,调试版本安装没有问题,但无法安装诺曼版本..
确保将文件添加到正确的目标,并查看git历史记录,看看是否存在添加到错误目标的延迟片段。
答案 16 :(得分:0)
对我来说,问题与配置文件设置有关。这方面的线索是调试版本安装正常,但发布版本没有。我想测试一个发布版本,所以我使用该构建配置运行该方案。
我通过复制Release Configuration来修复它,然后修改Build Settings中的那些字段以获得相同的配置内容,就好像我正在调试它一样。
(如果你使用Cocoapods,添加另一个构建配置会让你头疼,然后你必须修改你的Podfile)
答案 17 :(得分:0)
我在Windows 7上使用iPhone配置实用程序安装应用程序时间歇性地出现此错误。Following solution works - Go to C:\Users\{lanusername}\AppData\Local\Temp and delete app specific folders (e.g. abc.app) and try installing app again.
答案 18 :(得分:0)
将DerivedData文件夹放在网络位置会给我带来这个问题。
在尝试了其他所有内容之后,我发现我的工作站无法与大学服务器就时间如何达成一致。 (它认为一切都经过修改)。我还必须为每次重建进行清理,以避免这种令人沮丧的信息。
最后我放弃并在本地构建,改变Xcode>偏好>地点......对于曾经建立过网络感到非常愚蠢。
答案 19 :(得分:0)
我也面临同样的问题。浪费了很多时间后,我意识到我的产品名称有一个特殊的字符"?"这解决了这个问题
答案 20 :(得分:0)
我只是重建了我的应用程序,这解决了这个问题。
答案 21 :(得分:0)
我在2011年6月向Apple报告了ICU(Windows版本)上的这个错误。通过以下解决方法:
Win XP
1)关闭ICU
2)删除临时文件夹:c:\ Documents and Settings \ [username] \ Local Settings \ Temp \ [AppName] .app
3)删除部署文件夹:c:\ Documents and Settings \ [username] \ Application Data \ AppleComputer \ MobileDevice
4)重启ICU。在应用程序中拖动并正常安装。
============================
赢7
1)关闭ICU
2)删除临时文件夹:c:\ Users \ [用户名] \ AppData \ Local \ Temp \ [AppName] .app
3)删除部署文件夹:c:\ Users \ [用户名] \ AppData \ Local \ Apple计算机\ MobileDevice \ Applications \ [AppName] .app
4)重启ICU。在应用程序中拖动并正常安装。
=============================================== ==========
答案 22 :(得分:0)
我在iPod Touch上安装时也遇到了同样的问题。我无法链接模拟器(出于其他原因),所以不能说是否出现问题。
是的,重建干净或从设备中删除应用程序允许我再次安装。两者都不是理想的迭代解决方案!
我遇到的最小“清理”是手动删除build / Debug-iphoneos目录中的Foo.app。
答案 23 :(得分:0)
转到窗口>组织者>项目>查找项目并删除派生数据
答案 24 :(得分:0)
当我在我的应用名称中添加一个+时,我在Xcode 3.2.1中遇到了同样的问题。特别是构建设置中的“产品名称”。可以在Info.plist中的包名称中加上+。同样可能适用于其他标点字符。
答案 25 :(得分:0)
似乎这是xcode 3.2.2中的一个错误: iphonedevsdk