xcode AppStore 提交 - 签名丢失或无效 - com.google.GPPSignIn3PResources
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/25755142/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
AppStore Submission - Missing or invalid signature - com.google.GPPSignIn3PResources
提问by Raphael Petegrosso
I'm trying to submit an iOS app to AppStore and I'm having the following error:
我正在尝试向 AppStore 提交一个 iOS 应用程序,但出现以下错误:
ERROR ITMS-9000: "Missing or invalid signature. The bundle 'com.google.GPPSignIn3PResources' at bundle path 'Payload/My_app_name.app/GooglePlus.bundle' is not signed using an Apple submission certificate."
错误 ITMS-9000:“签名丢失或无效。捆绑路径‘Payload/My_app_name.app/GooglePlus.bundle’中的捆绑‘com.google.GPPSignIn3PResources’未使用 Apple 提交证书签名。”
I've submitted this app before I've never had this problem. Does anybody know if there is any recent change?
在我从来没有遇到过这个问题之前,我已经提交了这个应用程序。有人知道最近有什么变化吗?
Update:I could submit the app about 6 hours before having this error. Then, my app was rejected with this message:
更新:我可以在出现此错误前大约 6 小时提交应用程序。然后,我的应用程序被拒绝并显示以下消息:
This bundle is invalid- New apps and app updates submitted to the App Store must be built with public (GM) versions of Xcode 5.1.1 or higher and iOS 7 SDK. Do not submit apps built with beta software.
此捆绑包无效- 提交到 App Store 的新应用程序和应用程序更新必须使用公共 (GM) 版本的 Xcode 5.1.1 或更高版本以及 iOS 7 SDK 构建。不要提交使用测试版软件构建的应用程序。
After this, couldn't submit anymore.
此后,无法再提交。
Update2:
更新2:
Google has made an announcement about this:
谷歌已就此发布公告:
http://googledevelopers.blogspot.com.br/2014/09/an-important-announcement-for-ios.html
http://googledevelopers.blogspot.com.br/2014/09/an-important-announcement-for-ios.html
A new version was released, solving the problem.
发布了一个新版本,解决了这个问题。
采纳答案by Eduardo Viegas
Google released the version 1.7.1 of the google plus sdk.
Google 发布了 google plus sdk 1.7.1 版本。
I created a new podspec for the 1.7.1 version as the previous owner is not reachable.
我为 1.7.1 版本创建了一个新的 podspec,因为无法访问以前的所有者。
Just add into your Podfile:
只需添加到您的 Podfile 中:
pod 'googleplus-ios-sdk', '~> 1.7.1'
回答by LorikMalorik
Just remove files below and build your app as usual!
只需删除下面的文件并像往常一样构建您的应用程序!
GooglePlus.bundle/GPPSignIn3PResources
GooglePlus.bundle/GPPCommonSharedResources.bundle/GPPCommonSharedResources
GooglePlus.bundle/GPPShareboxSharedResources.bundle/GPPShareboxSharedResources
GooglePlus.bundle/GPPSignIn3PResources
GooglePlus.bundle/GPPCommonSharedResources.bundle/GPPCommonSharedResources
GooglePlus.bundle/GPPShareboxSharedResources.bundle/GPPShareboxSharedResources
回答by ashtom
Adding the --deep
flag to Other Code Signing Flags
(OTHER_CODE_SIGN_FLAGS) in the Project (not target) settings seems to fix this.
在项目(非目标)设置中将--deep
标志添加到Other Code Signing Flags
(OTHER_CODE_SIGN_FLAGS) 似乎可以解决这个问题。
回答by w0mbat
The correct fix is to upgrade to the 1.7.1 version of the Google Plus iOS SDK. It seems to have been specifically released to fix this problem.
正确的修复方法是升级到 1.7.1 版本的 Google Plus iOS SDK。它似乎是专门为解决此问题而发布的。
If you diff the 1.7.0 and 1.7.1 bundles you will see that no files were added, but three files were deleted : GPPSignIn3PResources, GPPShareboxSharedResources and GPPCommonSharedResources - the three files that the App Store was complaining about.
如果您比较 1.7.0 和 1.7.1 包,您将看到没有添加任何文件,但删除了三个文件:GPPSignIn3PResources、GPPShareboxSharedResources 和 GPPCommonSharedResources - App Store 抱怨的三个文件。
回答by Martin ?korc
I had the same error when I tried to submit the app with xcode 6.1. Nothing worked and I really tried everything. Then I found a solution on apple developer forums. It worked for me:
当我尝试使用 xcode 6.1 提交应用程序时,我遇到了同样的错误。没有任何效果,我真的尝试了一切。然后我在苹果开发者论坛上找到了解决方案。它对我有用:
- Go into Keychain Access
- Go into Login keychain
- Delete Apple World Wide Developer Relations Certificate Authority
- Go into System keychain
- Delete Apple World Wide Developer Relations Certificate Authority
- Download new WWDR certificate
- Install it in Login keychain (just clicking it did that)
- 进入钥匙串访问
- 进入登录钥匙串
- 删除 Apple 全球开发者关系证书颁发机构
- 进入系统钥匙串
- 删除 Apple 全球开发者关系证书颁发机构
- 下载新的 WWDR 证书
- 将其安装在登录钥匙串中(只需单击它即可)
回答by Artem
Adding --deep
flag didn't help me, so I solved the issue in a simple and elegant way (sarcasm detected). I removed Google+ SDK from Podfile, then downloaded SDK from hereand installed it in a old-fashioned way.
添加--deep
标志对我没有帮助,所以我以一种简单而优雅的方式解决了这个问题(检测到讽刺)。我从 Podfile 中删除了 Google+ SDK,然后从这里下载了 SDK并以老式的方式安装它。
回答by David
my solution for Google Plus looked this way
我的 Google Plus 解决方案看起来像这样
- deleted the 3 bundles from frameworks from my project
- downloaded new Version 1.7.0 (had to upgrade anyway)
- i opened the GooglePlus.bundle and removed 3 files (GPPSignIn3PResources,GPPShareboxSharedResources.bundle,GPPCommonSharedResources.bundle) as all 3 files will give you a warning in itunes
- I added the 3 bundles back to frameworks
- i tested my Google + login in app ... works
- submitted ...
- 从我的项目的框架中删除了 3 个包
- 下载了新版本 1.7.0(无论如何都必须升级)
- 我打开了 GooglePlus.bundle 并删除了 3 个文件(GPPSignIn3PResources、GPPShareboxSharedResources.bundle、GPPCommonSharedResources.bundle),因为所有 3 个文件都会在 iTunes 中给你一个警告
- 我将 3 个包添加回框架
- 我在应用程序中测试了我的 Google + 登录...
- 提交...
and run into a new issue (arm64 requirement), unrelated to this one :)
并遇到一个新问题(arm64 要求),与这个问题无关:)
I think this should work if you don't need the resource files like login button.
我认为如果您不需要登录按钮等资源文件,这应该可行。
回答by Alex Curylo
If --deep doesn't work, then chances are that the bundle is simply resources and does not actually have any executable file. Delete its Info.plist and you'll be good. If there's some reason you actually need Info.plist, at least delete the CFBundleExecutable key.
如果 --deep 不起作用,那么很可能捆绑包只是资源,实际上没有任何可执行文件。删除它的 Info.plist,你会好起来的。如果出于某种原因您确实需要 Info.plist,请至少删除 CFBundleExecutable 键。
回答by pkamb
This issue appears to have been fixed today by Apple, after being broken for ~24 hours.
这个问题似乎在今天被 Apple 修复了,在被破坏了大约 24 小时后。
Submitting the same app today, with no changes to the .bundle
, no longer throws the error.
今天提交相同的应用程序,没有更改.bundle
,不再抛出错误。
--deep
code signing of the bundle is not required.
--deep
不需要捆绑的代码签名。
(Note that I did not test this with the specific Google bundle that the question references. The Resources Bundle that our app uses, though, now works correctly and no longer throws the error.)
(请注意,我没有使用问题引用的特定 Google 包对此进行测试。不过,我们的应用程序使用的资源包现在可以正常工作并且不再抛出错误。)
回答by Dennis
Google just released an updated version 1.7.1, which can be downloaded from their website https://developers.google.com/+/mobile/ios/getting-started. Currently it's still not mentioned in their Release Notes though.
谷歌刚刚发布了更新版本 1.7.1,可以从他们的网站https://developers.google.com/+/mobile/ios/getting-started下载。目前,他们的发行说明中仍然没有提到它。
If you're using cocoapods you can copy the current 1.7.0 podspec, create a local one and change all the version references in their to 1.7.1 until the new one is merged into the official cocoapods repo.
如果您使用的是 cocoapods,您可以复制当前的 1.7.0 podspec,创建一个本地 podspec,并将它们中的所有版本引用更改为 1.7.1,直到新版本合并到官方 cocoapods 存储库中。