错误 itms-90035 - Xcode

Error itms-90035 - Xcode

我开发了一个 phonegap 应用程序,运行 在 iPhone 上绝对没问题。现在,我想将应用提交到应用商店。以下是我提交应用程序所遵循的程序:

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

直到昨天晚上,我什至都没有收到这个错误,今天早上,我存档了这个项目,但我收到了这个错误。不确定是什么问题。

这是阻止我提交应用程序的最后阶段,非常令人沮丧,我试图在 Whosebug 论坛上搜索相同的错误代码,但找不到一个 post和我的一模一样的错误码,很奇怪

请帮忙:)

编辑:我通过从我的目标.

删除我的项目.sh 文件设法避免了这个错误

到目前为止,我认为这是 Apple 方面的一个错误。

我昨天提交了一个没有任何问题的应用程序,今天拒绝了它,今天提交了一个稍微修改过的二进制文件,但和你一样,我现在遇到了同样的错误。 我以为是和Xcode6.3.1有关,因为我今天早上安装了,所以我又安装了Xcode 6.3.0,但是错误依旧。然后我彻底检查了一切:

  • 证书
  • 配置文件
  • iTunes 连接应用程序状态

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

事实上 "itms-90035" Google 搜索 returns 只有 1 个结果让我认为这可能是一些临时事件。

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

ERROR ITMS-90035: "Invalid Signature. A sealed resource is missing or invalid. The binary at path [MyNiftyApp.app/MyNiftyApp] contains an invalid signature. [...]"

我们将 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 之后,我找到了这个 post: https://issues.jenkins-ci.org/browse/JENKINS-21253 用户有类似的问题,可以通过停用以下插件选项"XCode -> General Build Settings -> Generate Archive? "来解决(以前是真的,现在是假的)。

至少这解决了我们这边的问题 - 也许它会引导你走向正确的方向。

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

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

我通过删除错误中的 "binary" 文件解决了这个问题。

对你来说 www/js/release.sh.

对我来说,这是两个冗余的 bower 文件,一个 .sh 文件和一个位于 "bin" 文件夹下的 .js 文件(也许这就是它认为它是二进制文件的原因?) .

附带说明一下,在 Application Loader 中出现错误后,您似乎仍然可以通过单击“发送”继续上传过程。

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

我在更新到最新的 Xcode (6.3.1) 后发生了这种情况。不仅仅是 .sh 文件,因为我收到了这些关于节点脚本的错误。似乎任何以 #!/usr/bin/env 开头的文件都会导致这些错误。我可以通过添加 #!到一个随机文件。

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

您必须通过逐个处理每个脚本文件来修复它,以确定在您的项目中有意义的内容。

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

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

此问题已在 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 

谢谢

正如其他人所说,问题似乎是由于在应用程序包中包含名为 "upload-dsym.sh" 的文件。以下是我为克服此错误而采取的步骤: 转到 Xcode 中的项目设置并选择 "Target" 应用程序图标。 选择构建阶段选项卡。 单击 "Copy Bundle Resources" 查找正在复制的名为 "upload-dsym.sh" 的文件。 我删除了那个文件,然后上传就正常了。

我在使用 xcode 6.3.1 和 6.4 beta 时遇到了同样的问题。我的说这是我的 main.o 文件。我查看了复制包资源,出于某种原因我的项目的主文件在那里。我将其删除并再次存档以发送到 itunes connect for testflight 并且上传正常。我花了 3 个小时才弄清楚那是那个愚蠢的文件。回家这有帮助。看来您需要真正注意在构建阶段 "Copy Bundle Resources" 中发送的内容。无论它告诉您什么文件是有问题的,请从该区域删除 taht 并试一试。

在平台目录中运行:

grep -r '#!/usr/' *

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

从结果中找到项目文件夹中的文件(例如,我的项目文件夹是 platforms/ios/www/*)并删除它们,剩下的保留下来。

跟included.sh files有关系,其实不是很明显


在我们的例子中,它是 AudioKit 库。自述文件说:

In most cases, when building for iOS or tvOS, regardless of how you install the framework, you will need to add a run phase to your project's target with the following script:

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


有时您不会直接在目标 build phases 中看到它们。某些 3rd 方库 可能会导致此错误,因为它们也在处理 .sh files

查看您的第 3 方 libraries/podsREADME 的文件以获取更多信息。

就我而言,提交 re-signed ipa 文件时出现错误。结果我查看了 Finder 中的应用程序包,它创建了一个 .DS_Store 文件(这是在 re-signing 和 codesign 之后,如果文件出现在签约时间)。

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

我遇到了完全相同的问题。我在 myApp 上写了一个错误。app/myApp 决定: 查找以特殊字符或非英语字符开头的文件。我找到了,删除了,一切正常!

在我的例子中,我收到此错误是因为应用程序显示名称中有一个特殊字符。我不明白为什么无法生成正确的错误消息。

运行 以下命令(在 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。 请找到并删除它,然后重试。

这对我有用