【问题标题】:Error itms-90035错误 itms-90035
【发布时间】:2015-07-03 19:06:27
【问题描述】:

应用通过验证

上传时出现错误Error itms-90035

"无效的签名。代码对象根本没有签名。二进制在 路径 [myApp.app/RNGridMenu.o] 包含无效签名。制作 确保您已使用分发证书签署您的应用程序, 不是临时的……”

myApp.app/RNGridMenu.o 不在项目中的任何位置。仅限RNGridMenu.hRNGridMenu.mRNGridMenu 加入项目一年多了,3天前上传还不错

我查过了

Error ITMS-90035 - Xcode 6.3.1 [Invalid Signature]

Error itms-90035 - Xcode

XCode Error itms-90035 - Invalid signature?

所有这些都有相同的错误代码,但没有解决我的问题

【问题讨论】:

标签: ios xcode


【解决方案1】:

对我来说,我已经阅读了所有答案,但什么对我有用,当我两次阅读错误时,我发现错误是我的文件之一无法签名,这意味着 Xcode 无法解析该特定文件,在我的情况下,我已删除此文件,它是我错误添加的 python 文件,在您的情况下,您可能需要它,因此如果不需要,请尝试替换或删除。

  • 我的项目是 Flutter,所以我已将它从 android studio 中删除,然后我存档然后它就可以工作了,别忘了从 android build ios --release在存档之前先进行工作室。

  • 还要确保签名证书是分发的,并且您有分发证书的 Elligble 配置文件。

Signing & Capabilties Image

Build Setting Image

  • 检查您的 Bundle id 的另一件事必须与您的证书和配置文件匹配,并且应用名称也必须准确。

希望它对你有用。

【讨论】:

    【解决方案2】:

    如果您使用的是 React-Native 0.63.3,请检查构建系统。

    当我遇到这个问题时,我的工作区配置了新的构建系统,尝试使用旧的构建系统。

    【讨论】:

      【解决方案3】:

      编辑:- 正如 tp1033 在评论中所说。应用程序加载器现已弃用,您不会在 xcode 中找到它。但是您现在可以使用Transporter Utility 上传您的 .ipa 文件。

      ================================================ ==

      我已经尝试了 Stackoverflow 上描述的所有解决方案。我也尝试了thebhanman 在第一个答案中所说的所有可能性,但没有解决问题。

      解决方案对我有用:- [使用应用程序加载器上传]

      不要用 TerminalItunes 等额外的过程来制作 .ipa用 xcode 制作 .ipa 在 export 选项中,它对我有用。

      第 1 步:- 在 xcode 中转到 Product Archive App

      第 2 步:-选择导出选项

      第 3 步:- 选择第一个选项 //-> 为 iosappstore 部署保存

      第 4 步:- Xcode 将生成您的应用程序的 .ipa 文件,其中包含日期和时间文件夹。

      注意:-首先验证您的应用。如果验证成功完成,请使用 Application Loader 尝试此操作。

      我希望这对将来的某些人有所帮助。因为我浪费了 2 天时间来解决这个问题。

      【讨论】:

      • 在菜单中找不到应用程序加载器
      • @Alok 应用程序加载器已弃用,您可以在 App Store 下载“Transporter”以上传 IPA 文件
      【解决方案4】:

      我在一个 Unity 应用程序中遇到了这个问题,我从开发人员版本辞职到 App Store 版本。我在退出应用程序中的框架之前退出了应用程序,从而使主应用程序文件的签名无效。

      通过在应用程序本身之前退出框架很容易解决(但不容易找到)。

      用于对解压缩的 .ipa 文件进行签名的 Shell 脚本示例:

      /usr/bin/codesign -f -s "<CERTIFICATE NAME>" Payload/myApp.app/Frameworks/* 
      /usr/bin/codesign -f -s "<CERTIFICATE NAME>" --entitlements entitlements.plist Payload/myApp.app
      

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题,它与文件名中包含非 ASCII 字符的资产有关,就像其他答案一样。

        我使用此命令查找导致问题的文件:

        LC_ALL=C find . -name '*[! -~]*'
        

        我在this post 的另一个答案中找到了它。

        希望这对某人有所帮助。

        【讨论】:

          【解决方案6】:

          对我来说,问题是我有一个文件名中包含非 ASCII 字符的资产。

          【讨论】:

            【解决方案7】:

            从版本 10.0 (10A255) 开始的 XCode 似乎无法正确签署带有 PRODUCT_NAME 的应用程序,其中包含 ü 等变音符号(可能还有其他非 ASCII 字符 - 但我们尚未对此进行测试)。这是在带有 APFS 的 macOS 10.13.6 (17G65) 上,可能也是原因。

            确实可以使用与 APFS 相同的 macOS 版本和更早的 XCode 版本,所以我们怀疑它是 XCode。

            无论如何,解决方法是将PRODUCT_NAME 设置为没有变音符号的字符串...

            【讨论】:

            • í 也有同样的问题,所以看起来都是非 ASCII 字符,更改产品名称也可以。
            • 我遇到了同样的问题。但发现我的问题是产品名称中的字母 ş。通过这个答案,我将其更改为 s 并解决了。
            【解决方案8】:

            我在为 Xamarin 开发绑定项目时遇到了这个问题。

            库不会绑定,所以我做了一个代理框架来调用我需要的框架。

            收到 ITMS-90035 错误消息的是自制代理框架。

            经过几个小时的摆弄,我发现 IPA 文件中的框架与我的代理框架的实际内容不匹配。

            在无数次清理/重建项目后,我设法通过删除 Mac 上的 Xamarin 缓存来解决此问题。

            它位于 ~/Library/Caches/Xamarin

            删除 Xamarin 文件夹后,我重新构建了绑定项目。然后我可以将我的应用上传到 TestFlight/AppStore。

            【讨论】:

              【解决方案9】:

              久经考验的解决方案:

              1. RNGrid.mRNGrid.h 复制到另一个位置
              2. 删除您的 RNGrid.mRNGrid.h 并移至回收站
              3. 清理和构建
              4. RNGrid.mRNGrid.h 文件添加回项目并将其复制到目标文件夹
              5. 清理和构建

              这个解决方案对我有用,这里也有回答:Why does one .o file in my project has no Provisioning Profile?

              【讨论】:

              • 谢谢你,最后我完全摆脱了这些文件以通过验证。所以没有机会测试它。
              • @JSA986 我明白了。所以你不再需要这些文件了吗?
              • 现在不行,因为我必须摆脱它们进行验证。它们是应用程序的导航,使用了一种新的导航方法以便可以提交它
              【解决方案10】:

              我遇到了同样的问题:

              我的项目是一个使用非标准身份验证协议访问 API 的客户端。我为这个协议实现了一个库作为一个单独的项目,并将它作为一个子项目导入到客户的项目中。 这两个项目都使用 AFNetworking 作为 HTTP 客户端。客户端和库也使用其他非共享的外部库。

              此架构在 Xcode 6.3 之前运行良好:所有审查提交在所有阶段都被接受。 更新到 XCode 6.3.1 后,由于 AFNetworking 库的未签名 .o 文件,我向 iTunes 提交的内容被拒绝。在迭代所有答案但没有成功后,我决定删除子项目。我将所有库文件移动到客户端项目并删除了多余的 AFNetworking 文件。完成此操作后,该应用程序在 iTunes Connect 上获得批准:)

              它是一种临时解决方案。可能我需要使用 CocoaPods 或 Carthage 才能再次分离应用程序和 lib。

              【讨论】:

              • 只是一个与线程无关的问题,您是如何删除多余的 AFNetworking 文件的?谢谢
              • 我刚刚通过删除引用将它们从项目中删除。
              【解决方案11】:

              检查您是否将 RNGridMenu.m 或 .h 文件放入“复制捆绑资源”到目标的“构建阶段”中

              【讨论】:

                【解决方案12】:

                在为我提交的应用程序调试此问题时,我尝试了几乎所有关于 SO 的解决方案,并意识到您可以通过多种方式收到此错误。以下是对常见问题以及如何解决问题的总结。

                1) 您没有为您的 PROJECT 和 TARGETS 选择具有有效证书的用于分发的配置文件。确保您在构建设置中为“发布”选项选择了有效的配置文件,并在 developer.apple.com 上验证您的配置文件仍然有效。 (这里:https://developer.apple.com/account/ios/profile/profileList.action

                2) 您在构建设置中的代码签名身份是有效的分发身份。确保您选择了一个有效的,并且它被选中用于“发布”选项。

                3) 您的执行类型的方案(可以通过产品 -> 方案 -> 编辑方案找到)对于您的构建配置需要是“发布”。如果您正在归档应用以供 App Store 提交,请确保在此窗口中为归档构建类型设置了“发布”。

                4) 您的钥匙串访问权限中有多个分发证书。尝试从您的钥匙串中删除重复的证书,然后再次尝试提交。

                5) 最邪恶的一个.... 你有一行以“#!”开头的代码在您的一个文件的顶部,通常是“.sh”或“.py”。最近,Apple 似乎要求对这些文件进行代码签名。感觉就像他们这边的一个错误,但是对于您的提交,只需删除此行!如果您在 Pod 目录中除了构建脚本之外还有“.sh”文件,也会发生这种情况。

                6) 您的 project.pbxproj 文件中有重复的 CODE_SIGN_IDENTITY 行。它们可能看起来像这样......

                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone 开发者"; CODE_SIGN_IDENTITY = "iPhone 分布";

                删除其中一行,您的文件应该能够再次正确构建。

                7) 从您的开发者帐户刷新 Xcode 中的证书和配置文件。 Xcode -> Preferences ... 选择您的帐户 -> 查看详细信息 -> 点击刷新按钮。

                8) 厨房水槽方法:创建一个新项目并从头开始加载您的设置。重新创建您的证书和配置文件。从来不好玩,但这在一些绝望的情况下对我有用。

                祝你好运!

                【讨论】:

                • 这与 myApp.app/RNGridMenu.o 未进行代码签名有关。但是项目中不存在这样的文件。只有RNGridMenu .h 和 .m 文件。最后,我必须删除这个库并使用不同的解决方案,这样我才能通过代码签名过程。又一个可以跳过的圈
                • 谢谢,这很有帮助——我在 Crittercism 的 dsym_upload.sh 文件中遇到了问题,5 号为我指明了正确的方向。我最终只是从目标成员中排除了 .sh 文件,这解决了我的问题。
                • 第 5 项是我的罪魁祸首。有 gencommonstrings.command 文件。只需将其从“复制捆绑资源”构建阶段中删除即可。
                • 5 号也是我的问题。太感谢了。你为我节省了一周的调试时间!
                • embed_png.sh 有一个“#!”在里面!你最好,谢谢你这么彻底的回答!
                猜你喜欢
                • 2015-06-29
                • 2016-01-09
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2015-07-06
                • 1970-01-01
                • 2020-01-23
                • 2020-05-30
                相关资源
                最近更新 更多