- 打开 Xcode 并存档项目
- 点击验证(成功)
- 点击提交到 App Store(这是我遇到以下错误的地方)
这是最终阶段,阻止我提交该应用程序并且非常令人沮丧,我尝试在 stackoverflow 论坛上搜索相同的错误代码,但找不到与我的错误代码完全相同的帖子,这非常奇怪。
请帮助 :)
我曾经遇到过同样的问题,结果发现我的某个通过bower安装的库包含了一个不必要的.sh
文件。我刚刚删除了这个文件,一切都成功上传了。
似乎苹果现在要求开发者在其应用中签名.sh
文件。但Cordova/Phonegap应用程序不需要这些文件,所以您可以放心删除它们。
我在升级到最新版本的Xcode(6.3.1)后遇到了这个问题。不仅是.sh文件,我还在使用node脚本时遇到了这些错误。似乎任何以#!/usr/bin/env开头的文件都会导致这些错误。我曾经通过在随机文件中添加#!来引发任意错误。
暂时从文件顶部删除#!/usr/bin/env指令可以解决问题,但你需要一个更好的长期解决方案 :)
你将不得不针对每个脚本文件逐个处理,找出在你的项目中有意义的方法。
如上所述,这可能是苹果方面的临时问题,与Xcode版本无关。
这与包含的.sh文件
有关,确实不太明显。
在大多数情况下,无论您如何安装框架,当构建iOS或tvOS时,您都需要向项目的目标添加运行阶段,并使用以下脚本:
"$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/AudioKit.framework/fix-framework.sh"
有时您在目标的build phases
中看不到它们。一些第三方库也会导致此错误,因为它们也涉及.sh文件
。
查看您的第三方库/pods的README
文件以获取更多信息。
正如其他人所说,问题似乎是因为在应用程序捆绑包中包含名为“upload-dsym.sh”的文件。以下是我采取的步骤以解决此错误: 1. 在Xcode中进入项目设置并选择“Target”应用程序图标。 2. 选择“Build Phases”选项卡。 3. 点击“Copy Bundle Resources”。 4. 查找正在复制的名为“upload-dsym.sh”的文件。 5. 删除该文件,然后上传过程顺利完成。
buildtime.sh
。由于这是一个相对较新的问题,迄今为止,似乎苹果确实在提交过程中改变了某些东西... - roy650 if [[ "$CONFIGURATION" == "Debug" ]]; then
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh"
fi
谢谢
我有同样的问题。然后我删除了.sh文件。再次提交我的应用程序。成功了!
grep -r '#!/usr/' *
这将显示所有可执行文件,通常包括 .sh 和 node 文件。
从结果中找到在您的项目文件夹中的文件(例如,我的项目文件夹是 platforms/ios/www/*),并删除它们,保留其余文件。
我们正在使用 Jenkins-CI 进行构建流程,与 xcode-plugin 一起使用。当我查看 Jenkins 构建日志时,发现了这个错误信息:错误 ITMS-90035:“无效签名。缺少或无效的密封资源。路径为 [MyNiftyApp.app/MyNiftyApp] 的二进制文件包含无效的签名。[...]”
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