我开发了一款在iPhone上运行得非常好的phonegap应用程序。现在,我想将应用程序提交到appstore。以下是我提交申请时的程序:
直到昨天晚上,我还没有得到这个错误,今天早上,我存档了项目,我收到了这个错误。不确定是什么问题。
这是阻止我提交应用程序的最后阶段,非常令人沮丧,我试图在stackoverflow论坛上搜索相同的错误代码,我找不到一个完全相同的错误代码的单个帖子我的,这很奇怪。
请帮助:)
答案 0 :(得分:77)
我遇到了同样的问题,原来我通过bower安装的一个库包含一个.sh
文件,这是不需要的。我刚刚删除了文件,所有内容都已成功上传。
似乎Apple现在强制开发人员在他们的应用程序中签署.sh
个文件。由于Cordova / Phonegap应用程序不需要其中任何一个,您可以安全地删除它们。
答案 1 :(得分:9)
更新到最新的Xcode(6.3.1)之后发生了这种情况。它不仅仅是.sh文件,因为我收到了有关节点脚本的这些错误。看来以#!/ usr / bin / env开头的任何文件都会导致这些错误。通过添加#,我能够造成任意错误!到一个随机文件。
暂时从文件顶部删除#!/ usr / bin / env指令会有效,但您需要更好的长期解决方案:)
您必须通过逐个处理每个脚本文件来修复它,以了解项目中有意义的内容。
如上所述,这可能是Apple方面的一个暂时性问题,不一定与Xcode版本有关。
答案 2 :(得分:8)
编辑:我设法通过从目标中删除我的项目.sh文件来避免此错误。
到目前为止,我已经说过这是苹果公司的一个漏洞。
我昨天提交了一个没有任何问题的应用程序,今天拒绝提交稍微修改过的二进制文件,但是和我一样,我现在遇到了同样的错误。
我认为它与Xcode6.3.1
有关,因为我今天早上安装了它,所以我再次安装Xcode 6.3.0
,但错误仍然存在。然后我彻底检查了一切:
但到目前为止没有成功。
a" itms-90035"谷歌搜索只返回1个结果让我觉得可能是一些临时事件。
答案 3 :(得分:3)
正如其他人所说,问题似乎是由于包含名为" upload-dsym.sh"在应用程序包中。以下是我为解决此错误而采取的步骤: 去了Xcode中的项目设置并选择" Target"应用程序图标 选择Build Phases选项卡。 点击"复制捆绑资源" 查找名为" upload-dsym.sh"的正在复制的文件。 我删除了该文件,然后上传得很好。
答案 4 :(得分:3)
它与包含的.sh files
有关,而不是那么明显。
在大多数情况下,在为iOS或tvOS构建时,无论您如何安装框架,都需要使用以下脚本为项目的目标添加运行阶段:
"$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/AudioKit.framework/fix-framework.sh"
有时您无法直接在目标build phases
中看到它们。某些第三方库可能会导致此错误,因为它们也在处理.sh files
。
检查第三方图书馆/广告单元 README
的文件以获取更多信息。
答案 5 :(得分:2)
我有同样的问题。然后我删除.sh文件。然后我再次提交我的应用程序。成功了!
答案 6 :(得分: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
由于
答案 7 :(得分: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 - >常规构建设置 - > 生成档案?" (之前的确如此,现在它是假的)。
至少这解决了我们这方面的问题 - 也许它会引导你找到正确的方向。
答案 8 :(得分:1)
我通过简单地删除"二进制文件来解决这个问题。错误中的文件。
为你的www / js / release.sh。
对我来说,它是两个冗余的bower文件,一个.sh文件和一个.js文件位于" bin" -folder下(也许这就是为什么它认为它是二进制文件? )。
另一方面,似乎您仍然可以通过在Application Loader中显示错误后单击“发送”继续上传过程。
答案 9 :(得分:1)
当我尝试使用ApplicationLoader 3.0上传我的应用时,我收到了同样的错误。升级到ApplicationLoader 3.1(即最新版本),为我解决了这个问题。
答案 10 :(得分:1)
在平台目录中运行:
grep -r '#!/usr/' *
这将显示可以执行的所有文件。通常,这将包括.sh和节点文件。
从结果中找到项目文件夹中的文件(例如我的项目文件夹是platforms / ios / www / *)并删除它们。
答案 11 :(得分: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。 请找到并删除它,然后重试。
这对我有用
答案 12 :(得分:0)
就我而言,出现此错误是因为应用显示名称中包含特殊字符。为什么我无法生成正确的错误消息,这让我不解。
答案 13 :(得分:0)
我有完全相同的问题。我在myApp.app/myApp上写了一个错误 决定: 查找以特殊字符或英语以外的其他字符开头的文件。我发现了,删除了,一切正常!
答案 14 :(得分:0)
在我的情况下,我在提交重新签名的ipa文件时收到错误。事实证明我已经查看了Finder中的应用程序包,它创建了一个.DS_Store文件(这是在用codesign
重新签名之后,如果文件在签名时存在则会抱怨)。
删除.DS_Store文件后,上传成功。
答案 15 :(得分:0)
有一个相关的问题,.py文件也会混淆Xcode:
https://omz-forums.appspot.com/pythonista/post/5857432475533312
答案 16 :(得分:0)
我同时使用xcode 6.3.1和6.4 beta。我说这是我的main.o文件。我查看了复制包资源,由于某种原因,我的项目的主文件就在那里。我删除它并将其存档再次发送到itunes connect for testflight并且上传得很好。花了我3个小时才发现它是那个愚蠢的文件。回家这有帮助。似乎你需要真正关注你在构建阶段的“复制捆绑资源”中发送的内容。无论它告诉你什么文件是一个问题,从这个区域删除taht并试一试。
答案 17 :(得分:0)
对我来说,我使用的库中有一个do-git文件。我删除了它,它工作了!伙计们,请确保您清楚地浏览Build Phases选项卡中Copy bundle资源中的所有文件,并且我确定您将找到解决方案
答案 18 :(得分:0)
您的目录中有另一个文件夹具有相同的文件,只需删除它并尝试再次构建和上传..