44

I'm trying to submit an iOS app to AppStore and I'm having the following error:

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."

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:

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.

After this, couldn't submit anymore.

Update2:

Google has made an announcement about this:

http://googledevelopers.blogspot.com.br/2014/09/an-important-announcement-for-ios.html

A new version was released, solving the problem.

Raphael Petegrosso
  • 3,870
  • 2
  • 24
  • 27
  • 3
    We are seeing the same exact error attempting to resubmit an app that was uploaded without error (same code) yesterday. Also, the App Review team rejected our binary yesterday saying it was built with a non-GM build of Xcode 5.1.1 but it actually wasn't. I'm suspecting something got broken with all the new changes going on the last few days. – Mark Edington Sep 10 '14 at 00:45
  • Exactly the same thing here... was rejected for the same reason as you for my code that was submitted successfully today afternoon. – Raphael Petegrosso Sep 10 '14 at 00:46
  • In addition to seeing it on GooglePlus.bundle, we are seeing it on com.google.GoogleMaps. – Dean Liu Sep 10 '14 at 00:56
  • 1
    I just submitted a rejection appeal to iTunes connect and referenced this question here. I would encourage everyone to do this and also click on the "Submit to Apple" button in the Application Uploader when the upload fails. I do think that the roll out of new iOS 8 / Xcode 6 stuff has very likely broken some tooling. – Mark Edington Sep 10 '14 at 01:13
  • There's a bug open against itunes-connect. We suspect since iOS8 now supports 'Extensibility', allowing other apps' code to run in yours.. apple must be requiring all libraries to be signed. But our bundle just has resources in them. Maybe if iOS supported actual libraries.. hmm – alphaadidas Sep 10 '14 at 04:01
  • 1
    I am getting same error, is it safe to assume that its an iTunes bug? – Bhumit Mehta Sep 10 '14 at 06:35
  • I also have a .bundle that only has non-compile-able resources causing an app to be rejected for this reason. – Halle Sep 10 '14 at 08:05
  • Is there any way to manually sign bundles? I know it's not a good solution for the long run, but it will help us get those iOS 8 patches out in time. – Frank Rupprecht Sep 10 '14 at 08:58
  • Have a look on this [ANSWER](http://stackoverflow.com/questions/31711335/ios-missing-or-invalid-signature-the-bundle-is-not-signed-using-an-apple-submis/34020050#34020050) too! – Kampai Dec 01 '15 at 12:06

12 Answers12

30

Just remove files below and build your app as usual!

  • GooglePlus.bundle/GPPSignIn3PResources
  • GooglePlus.bundle/GPPCommonSharedResources.bundle/GPPCommonSharedResources
  • GooglePlus.bundle/GPPShareboxSharedResources.bundle/GPPShareboxSharedResources
LorikMalorik
  • 2,001
  • 1
  • 14
  • 14
13

Google released the version 1.7.1 of the google plus sdk.

I created a new podspec for the 1.7.1 version as the previous owner is not reachable.

Just add into your Podfile:

pod 'googleplus-ios-sdk', '~> 1.7.1'
5

Adding the --deep flag to Other Code Signing Flags (OTHER_CODE_SIGN_FLAGS) in the Project (not target) settings seems to fix this.

Peter Lapisu
  • 19,915
  • 16
  • 123
  • 179
ashtom
  • 804
  • 1
  • 8
  • 13
  • 2
    Unfortunately it made no difference with the Google Plus bundle – David Sep 10 '14 at 08:40
  • Initially --deep didn't seem to work for me as I was only setting it on the target. Setting it on both the project and the target resolved the issue and the archive validated and submitted correctly. – Iain McManus Sep 10 '14 at 13:46
3

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.

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.

w0mbat
  • 2,430
  • 1
  • 15
  • 16
1

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 here and installed it in a old-fashioned way.

Artem
  • 400
  • 2
  • 7
  • i looked into it but the sdk provided there is outdated and uses no ARC – David Sep 10 '14 at 09:31
  • You can try to remove bundle from the pod itself. It seems that it is required for signin button only. I mean 'Build Phases' tab. – Artem Sep 10 '14 at 09:35
  • Oh, one more thing. There is no ARC in SDK 1.7.0 since it's just a set of frameworks. You're probably looking at some stale localised version of that page. It's Google... – Artem Sep 10 '14 at 09:37
  • @David FWIW, manual retain-release libraries can still be used in your ARC project. – pkamb Sep 10 '14 at 16:46
1

my solution for Google Plus looked this way

  • 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 ...

and run into a new issue (arm64 requirement), unrelated to this one :)

I think this should work if you don't need the resource files like login button.

David
  • 211
  • 3
  • 12
1

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.

Alex Curylo
  • 4,744
  • 1
  • 27
  • 37
1

This issue appears to have been fixed today by Apple, after being broken for ~24 hours.

Submitting the same app today, with no changes to the .bundle, no longer throws the error.

--deep code signing of the bundle is not required.

(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.)

pkamb
  • 33,281
  • 23
  • 160
  • 191
  • 1
    I'm still having the problem. – Raphael Petegrosso Sep 10 '14 at 22:06
  • @RaphaelPetegrosso The same error, or a different one? Are you getting the error in the Validator or via email after submitting? – pkamb Sep 10 '14 at 22:27
  • The same error: 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. – Raphael Petegrosso Sep 10 '14 at 22:54
  • That's strange, as all other reports indicate this bundle signing issue has been fixed. We have personally now [submitted](https://github.com/apptentive/apptentive-ios/issues/125) an app containing a `.bundle` that was flagged with this error in the hours after the iOS 8 release. Does the offending bundle contain any executables? Are you shipping any iOS 8 Extensions in your app? – pkamb Sep 11 '14 at 17:24
1

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:

  • 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)

link: https://devforums.apple.com/message/1072465#1072465

Martin Škorc
  • 206
  • 1
  • 3
0

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.

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.

Dennis
  • 2,223
  • 3
  • 27
  • 36
0

You should also remove info.plist files

GooglePlus.bundle/info.plist

GooglePlus.bundle/GPPCommonSharedResources.bundle/info.plist

GooglePlus.bundle/GPPShareboxSharedResources.bundle/info.plist

patgdut
  • 103
  • 1
  • 5
0

By removing all Info.plist file form goolepplus.bundle file work for me.