错误ITMS-90035-Xcode


83

我已经开发了一个在iPhone上运行完全正常的phonegap应用程序。现在,我想将应用程序提交到appstore。以下是我提交我的应用程序的步骤:

  1. 打开Xcode并将项目存档
  2. 单击验证(成功)
  3. 单击提交到应用商店(这是我收到以下错误的地方)

在此处输入图片说明

直到昨天晚上,我什至没有收到这个错误,今天早上,我将项目存档了,并且得到了这个错误。不知道是什么问题。

这是最后一个阶段,这使我无法提交应用程序,这非常令人沮丧,我试图在stackoverflow论坛上搜索相同的错误代码,但我找不到一条与我的错误代码完全相同的帖子,这很奇怪。

请帮忙 :)


1
您确定代码签名设置正确吗?
Anil Varghese 2015年

我不确定,该如何检查?可以请我指导一下吗?
Nikhil Rao 2015年

2
Nikhil从今天早上开始,我也遇到了同样的错误。我只是试图“验证”我的应用程序的旧版本,该版本已成功获得批准并成功上传。除了我所期望的预期错误(AppStore中已经存在版本,自发布以来,我的应用程序版本已关闭以进行修改等),我一直在获得此ITMS-90035。我还确认(从Apple开发人员中心)我的证书未被吊销。我将在今天晚些时候根据您的发现向您更新,并将监视此帖子以听取您的意见。谢谢:)
Nili

1
同样,昨天,我提交了许多没有错误的版本。代码和设置未更改。
VinZen

3
Nikhil按照以下答案中的建议从我的目标中删除了.sh文件,从而解决了问题。
妮莉

Answers:


77

我遇到了同样的问题,事实证明,通过Bower安装的我的一个库中包含一个.sh不需要的文件。我刚刚删除了文件,所有内容均已成功上传。

似乎Apple现在强制开发人员.sh对其应用程序中的文件进行签名。由于Cordova / Phonegap应用程序不需要它们,因此您可以安全地删除它们。


3
这是唯一正确的答案。顺便说一下,您不需要删除文件。只需将其从目标中排除即可。
Inferis 2015年

1
我的项目中只有一个.sh文件,位于平台> ios> cordova> lib> copy-www-build-step.sh下。这是我应该删除的那个吗?还是只有两个?谢谢!
2015年

5
谢谢!!!这是正确的答案。在我的案例中,是由CocoaPods将Crittercism dsym_upload.sh文件复制到我的捆绑包中的,这已经成为我公司的一个脏话。
toofah 2015年

6
我通过CocoaPods包含了Crittercism,它具有dsym_upload.sh脚本,该脚本也导致了此错误。因此,现在我只是在Pods-resources.sh文件中注释了这一行:install_resource“ CrittercismSDK / CrittercismSDK / dsym_upload.sh”
sasha_nec 2015年

如果是crittercism问题,并且您正在使用可可豆荚,请尝试在此处添加我作为注释的修复程序:stackoverflow.com/questions/29816930/…–
jeyben

9

更新到最新的Xcode(6.3.1)之后,这发生在我身上。这不仅仅是.sh文件,因为我遇到了有关节点脚本的这些错误。看来任何以#!/ usr / bin / env开头的文件都会引起这些错误。我可以通过添加#引起任意错误!到一个随机文件。

从文件顶部暂时删除#!/ usr / bin / env指令可以使用,但是您需要一个更好的长期解决方案:)

您必须通过逐个处理每个脚本文件来解决它,以解决您项目中有意义的问题。

如上所述,这可能是Apple方面的暂时问题,不一定与Xcode版本有关。


8

编辑:我设法通过从目标中删除项目.sh文件来避免此错误。

到目前为止,我会说这是苹果方面的错误。

我昨天提交了一个应用程序,没有任何问题,今天拒绝了该应用程序,今天提交了一个稍作改动的二进制文件,但是像您一样,我现在也遇到了同样的错误。我以为这与之有关,Xcode6.3.1因为我今天早上安装了它,所以我Xcode 6.3.0再次安装了它,但错误仍然存​​在。然后我彻底检查所有内容:

  • 证明书
  • 供应配置文件
  • iTunes Connect应用程序状态

但是到目前为止没有成功。

“ itms-90035” Google搜索仅返回1个结果的事实使我认为这可能是一些临时事件。


我做了你所做的一切,我和你完全一样。完全同意,双手合十,希望他们早日解决此问题。
Nikhil Rao 2015年

3

正如其他人所说,该问题似乎是由于在应用程序捆绑包中包含名为“ upload-dsym.sh”的文件造成的。这是我为克服此错误而采取的步骤:转到Xcode中的项目设置,然后选择“目标”应用程序图标。选择构建阶段选项卡。单击“复制捆绑资源”,以查找正在复制的名为“ upload-dsym.sh”的文件。我删除了该文件,然后上传正常。


此答案中描述的过程是从已签名应用中删除* .sh文件的详细路径。就我而言,它是buildtime.sh由Worklight环境产生的。到目前为止,由于这是一个相对“新”的问题,看来苹果确实在提交过程中进行了一些更改……
roy650

3

它与include有关.sh files,实际上并不那么明显。


在我们的例子中,它是AudioKit库。README说:

在大多数情况下,为iOS或tvOS进行构建时,无论如何安装框架,都需要使用以下脚本将运行阶段添加到项目目标中:

"$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/AudioKit.framework/fix-framework.sh"


有时,您在目标的中看不到它们build phases。一些第三方库也可能导致此错误,因为它们也正在处理.sh files

检查您的第三方库/ pod README的文件以获取更多信息。


3

就我而言,出现此错误是因为应用显示名称中包含特殊字符。这使我无法理解为什么无法生成正确的错误消息。


2

我有同样的问题。然后删除.sh文件。然后我再次提交我的应用程序。成功!


2

CrittercismSDK CocoaPods 5.2.0已解决此问题:https : //github.com/CocoaPods/Specs/blob/master/Specs/CrittercismSDK/5.2.0/CrittercismSDK.podspec.json

您可以升级到sdk 5.2.0或删除文件,然后从Pods-resources.sh文件中删除以下几行:

    if [[ "$CONFIGURATION" == "Debug" ]]; then 
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" 
fi 
if [[ "$CONFIGURATION" == "Release" ]]; then 
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" 
fi 

谢谢


1

今天我们遇到了一个非常类似的问题并解决了。

错误ITMS-90035:“签名无效。密封的资源丢失或无效。路径[MyNiftyApp.app/MyNiftyApp]处的二进制文件包含无效的签名。[...]”

我们将Jenkins-CI与xcode-plugin一起用于构建过程。当我查看jenkins构建日志时,发现以下错误消息:

file added: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/MyNiftyApp.app
file modified: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/Assets.car
]
Codesign check fails : /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app: a sealed resource is missing or invalid

搜索该Assets.car之后,我发现了以下信息:https ://issues.jenkins-ci.org/browse/JENKINS-21253 用户有类似的问题,可以通过停用以下插件选项“ XCode-> General”来解决构建设置->生成存档? ”(以前是真实的,现在是错误的)。

至少这可以解决我们这方面的问题-也许它将引导您朝正确的方向发展。


1

我通过简单地删除错误中的“二进制”文件来解决了这个问题。

对您来说,它是www / js / release.sh。

对我而言,这是两个冗余的Bower文件,一个.sh文件和一个.js文件,它们位于“ bin”文件夹下(也许这就是为什么它认为它是二进制文件?)。

在一个旁注中,您似乎仍然可以通过在Application Loader中出现错误后单击发送来继续上传过程。


1

当我尝试使用ApplicationLoader 3.0上传我的应用程序时,我收到了同样的错误。升级到ApplicationLoader 3.1(即最新版本),为我解决了该问题。


我使用的是Application Loader版本3.1 (670),但仍然有问题。
antogerva 2015年

1

在platform目录中运行:

grep -r '#!/usr/' *

这将显示所有可以执行的文件。通常,这将包括.sh和节点文件。

从结果中找到项目文件夹中的文件(例如,我的项目文件夹为platform / ios / www / *),然后删除其余文件。


1

我有同样的问题。我在myApp.app/myApp上写了一个错误决定:查找以特殊字符或英语以外的其他字符开头的文件。我发现了,删除了,一切正常!


0

使用xcode 6.3.1和6.4 beta时,我遇到了相同的问题。我的说这是我的main.o文件。我查看了副本捆绑包资源,由于某种原因,我的项目的主文件在那里。我将其删除并再次存档以发送至iTunes连接进行testflight,并且上传良好。花了我3个小时才弄清楚那是那个愚蠢的文件。首页这有帮助。似乎您需要真正注意构建阶段在“复制捆绑资源”中发送的内容。无论文件告诉您有什么问题,请从该区域移除taht并尝试一下。


0

就我而言,提交重新签名的ipa文件时出现错误。原来,我查看了Finder中的应用程序包,并创建了一个.DS_Store文件(这是使用重新签名后的结果codesign,如果在签名时该文件存在,则可能会抱怨)。

删除.DS_Store文件后,上传成功。


0

运行以下命令(在Mac中): codesign --verify -vvvv <your_application>.app

样品:

codesign --verify -vvvv project.app
project.app: a sealed resource is missing or invalid
file missing: /Users/iHTCboy/workspace/Payload/project.app/.DS_Store

看起来在我的应用程序资产内有一个隐藏文件.DS_Store。请找到并删除它,然后重试。

那对我有用

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.