AppStore Submission - Missing or invalid signature - com.google.GPPSignIn3PResources - ios

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.

Just remove files below and build your app as usual!
GooglePlus.bundle/GPPSignIn3PResources
GooglePlus.bundle/GPPCommonSharedResources.bundle/GPPCommonSharedResources
GooglePlus.bundle/GPPShareboxSharedResources.bundle/GPPShareboxSharedResources

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'

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

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.

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.

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.

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.

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

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

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.

You should also remove info.plist files
GooglePlus.bundle/info.plist
GooglePlus.bundle/GPPCommonSharedResources.bundle/info.plist
GooglePlus.bundle/GPPShareboxSharedResources.bundle/info.plist

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

Related

Xcode: Could not locate installed application. Install claimed to have succeeded, but application could not be found on device

I manually deleted my app from the iPhone and now I get this error message when trying to run it again from Xcode.
I cleaned the build folder, restarted the device, Xcode and the Mac, nothing helps.
I also tried everything that's mentioned here: Install claimed to have succeeded, but application could not be found on device
How do I force a re-installation?
As always, when the question is posted on SO, one finds a solution ;)
I edited the Scheme, setting the build configuration from debug to release and that installed the app again. Changed it back to debug and now it's running again as expected.
I ran into the same issue while testing a app on iOS 13 via XCode 11.0. Building via the legacy system solved it (File > Workspace Settings... > Build System > Legacy Build System).
Hope it helps
I had a similar issue after one of Carthage/XCode updates. It means iOS was not able to install app on the phone. XCode apparently is not able to provide this information directly. The first thing to do is open your phone console - go to Window/Devices and Simulators then select your device and click Open Console. In the console you can search for your app name what should provide you more detailed fail info. In my case it was sth like this:
Applications did fail to install: (
"<LSApplicationProxy: 0x118913b60> com.mydomain.myapp (null) <com.mydomain.myapp <INVALID >:0>"
) (appInfos: (null))
There was another console log few rows before flagging the problem:
0x16f4df000 -[MIExecutableBundle codeSigningInfoByValidatingResources:performingOnlineAuthorization:ignoringCachedSigningInfo:checkingTrustCacheIfApplicable:error:]: 789: Code signing identifier (org.alamofire.Alamofire.iphonesimulator) does not match bundle identifier (org.alamofire.Alamofire.iphoneos) for /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.E83T1l/extracted/myapp.app/Frameworks/Alamofire.framework
There was an issue with one of the frameworks Alamofire I'm using in the project. I changed bundle identifier of the project and build framework again what solved the problem.
Hope it helps!
In my case, the problem was an embedded framework that was not being signed. In the General tab of the project settings, setting the embed setting to 'Embed & Sign' did the trick.
In my case it was a problem with new Development certificate. It's created automatically after Xcode updated to 11 and may not be included in current provisioning profile.
I was facing similar issue in Xcode 11.1. I have fix this issue. Not sure about this solution that it will to work for all or not.
My device iOS version was older then the iOS Xcode target build version.
Steps:
I have put Xcode target Device to iPhone device OS version.
Delete derived data
Start xcode and open project
Clean the project and gererate build and install in device
Note: Please check your developer account, certificate validation and already registered device warning.
Hope this solution will help some peoples. Happy coding.
After trying everything here, for me the solution was to change my distribution profile to use the new Apple distribution certificate that covers all apple platforms. This should be compliant with xcode 11 (if you're not experiencing one of the other million problems since the "upgrade").
The cert change is mentioned here:
https://developer.apple.com/documentation/xcode_release_notes/xcode_11_release_notes
Cert creation instructions here:
https://help.apple.com/developer-account/#/devbfa00fef7
Once done, make sure the correct profile is selected in Signing & Capabilities, and 'Apple Distribution' is selected under Build Setting -> Signing for the appropriate build configurations
A solution that solved this issue for me was to check the signing team for my tests target. Selecting the same development team then meant that my app was able to be built and run on device.
Build system: New Build System
Xcode: Version 11.1
Uninstall all the other apps that are under the same "Organization" or "Bundle Identifier" with your current app and try again.
It works for me. Hope it does for you too.
On your iPhone go to Settings/General/Profiles & Devices/Apple Development: "YOUR APPLE ID" and delete all apps from there. It fixed the problem for me.
It happened to me when trying to launch a watchOS app on a real device.
The only solution that worked was:
Delete iOS app from device
Delete watchOS app from device
Close and reopen Xcode
Clean build folder
I did a Product -> Clean then Build, and it was able to run.
Go to settings on your phone and wipe out all certificates and apps and then install your app again. That helped me
Problem occured on XCode 11
TL;DR:
Try changing Embed option in General=>Section Frameworks, Libraries.. to Do Not Embed (although it sounds strange)
In my General=>Section Frameworks, Libraries.. list are Security.framework and the CocoaPods Pods_projectname.framework amongst others. Default setting of these two was Do Not Embed. Sounded strange to me, so I changed it without need alternating to Embed & Sign or Embed Without Signing. With both options the error occured!
On your iPhone go to Settings/General/Profiles & Devices/Apple Deelopment: "YOUR APPLE ID" and delete all apps from there. It fixed the problem for me.
This was the solution that worked for me.
Please double check the bundle ID of the installed application to see if it is re-applied, this will also cause this problem .I uninstall the app and solve the problem.
In my case i have PROD certificate and trying to install the app in the device, later i changed to development certificate it got installed.
As Marcin's answer suggested, I visited the phone console and in my case, it is this error message:
-[MIFreeProfileValidatedAppTracker _onQueue_addReferenceForApplicationIdentifier:bundle:error:]: 182: This device has reached the maximum number of installed apps using a free developer profile: {(
So if you are signing your app with a Personal Team certificate, make sure that you don't have more than 3 apps.
Read more here: Why can I not install more than three apps?
As for me,
I added a custom key-value to Info.plist of main watchOS application file. That was wrong.
After removing it, all works correctly.
It seems this is not allowed but where is no other information about it.
If you have other under-development apps installed, try uninstalling those you are not using, and run Xcode to install your app again. It works for me.

iTunes Connect Errors occurred in the app thinning process, and your app couldn’t be thinned?

I Uploaded the build via Xcode Yesterday it worked fine but while uploading today the build is uploading perfectly but after 10 minutes i got a email form apple stating that.
While processing your iOS app, ---------------Build(1.0.22), errors
occurred in the app thinning process, and your app couldn’t be
thinned. If your app contains bitcode, bitcode processing may have
failed. Because of these errors, this build of your app will not be
able to be submitted for review or placed on the App Store. For
information that may help resolve this issue, see Tech Note 2432.
I only changed the one line of code and changed the Build Number. And, I uploaded 4 build got the same Error.
I met with this issue today, I used google-api-objectivec-client-for-rest (as framework).
I tried all the solutions above, but failed.
Now I fixed it by copying all the source of google-api-objectivec-client-for-rest to my own project. Hope it helpful to you.
MY SOLUTION THAT DID NOT WORKED BUT MAYBE CAN GIVE U A WAY OUT
In My own case, i developed my IOS APP with PhoneGap
After so much research, was told to disable bitcode from my ItuneConenct App Account https://developer.apple.com/library/mac/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/ChangingAppStatus.html
And was introduced to a new phonegap plugin to disable bitcode in my IOS APP https://www.npmjs.com/package/cordova-plugin-cs-disable-bitcode
which i added to my Phonegap app config.xml file
Yet after rebuilding my phonegap IOS app and uploading to ItunesConenct using Application Builder (Got a successful message from the upload). Few mins' after the upload, I got same message from Apple with the same error.
This can give you a hint
Finally got it to work. In our case, the error was in one of the embedded frameworks. Generating a Production Ad-hoc build and then trying to export it generated an error message that pointed us to an error in a setting within one of the framework files. The framework has been there for a while and we never had any issues with it until this release.
I had the same problem and I found the solution. In my app, I had the Google Plus framework: GoogleOpenSource.framework. This framework was the problem. I searched about the latest update in Google Plus: https://developers.google.com/+/mobile/ios/upgrading-sdk.
The latest version was 1.7.1. This version has the same problem. In my app, I removed the login with Google Plus (deprecated https://gyazo.com/685a58f98ee0b0fca16a6bd83636aad8) and I added Google: https://developers.google.com/identity/sign-in/ios/sdk/
This works for me.
A greeting.
Hey guyz My App has been approved by Apple Store.
The trick i used was this
Deleted the plugin folder on my App root directory before building
Because most plugins were not compatible with Apple has to use just few of them on my manifest file
<plugin name="org.apache.cordova.inappbrowser" />
<plugin name="org.apache.cordova.network-information" />
<plugin name="org.apache.cordova.splashscreen" />
<plugin name="cordova-plugin-whitelist" />
i was surprised when Apple sent me a message that my App has been Approved just now.
I Home this trick work for someone
If you are having this problem recently, i.e. since September 2016, it may be due to having a 'special character' in the title of your app.
I had several targets for the same code, some of which would process OK and some of which would fail. The ones that were failing all had Apple symbols in the title, for example one app was called '🇨🇲 Flags'.
Credit to Krati Rastogi: https://forums.adobe.com/thread/2205923
I had this happen a couple days ago and the temporary solution for me was to not include bitcode for iOS content, which is an uploading option (see image). Apple suggests to do an ad hoc export with an ad hoc provisioning profile to receive the errors and logs of the failure, but I'm unable to reproduce the error(s) and the ad hoc export is successful each time. Will update this post when I find out how to re-enable bitcode, but for now this seems like a good temporary fix. -Update: there was an error in the name of one of my project folders, mixup with symbolic folder name, when I corrected the name to match what was actually in the folder structure I was able to upload properly-
I've experienced the same symptoms and have found a solution.
The root cause of the issue is invalid/incorrect keys in a given bundle's embedded Info.plist.
This is typically the .bundle contained within a third party library e.g. GoogleMaps SDK.
The steps for remediation are:
For each .bundle containing only resources:
Remove the key/value CFBundleExecutable
Change the value for key
CFBundleSupportedPlatforms to iPhoneOS (Item 0, first element in the array. The previous value was iPhoneSimulator in my case)
The technical reason is that CFBundleExecutable should not be present in a bundle's plist if there is no executable. The value for CFBundleSupportedPlatforms is self explanatory, it should be iPhoneOS.
Tech Note 2432 mentions the above two keys but does not elaborate how to resolve the issue.
I hope this solution works for you.
As another user above stated... Remove the Plug In Directory and it solves the problem!
I just uploaded a fully functional version of my App with all of my Plug Ins. When I use build.phonegap.com to compile my IPA file, I have no Plugin folder in the ZIP file. The plugins are correctly referenced in my config.xml file.
It works!
I have no clue why this was ever an issue, but that is the ticket to move forward!
Finally, I made this work!!!
Just like #applejack42 said, you must remove CFBundleExecutable key of all 3rd party library info.plist file.
In my case, I just remove this key from JSONModel info.plist, and submit.
Success!
I really hope it works for you, because that issue make me crazy.
update xcode to 8.0 which published at 0914 from apple store , rebuild project and submit to iturns , the issue was not found , instead any detail info for anouther issue which use ios 10 sdk required . i have submited success, and waiting for approval .
Ive attempted various build and submitted to Itunes with Xcode 8 and 7, with no success.
Deleting my plugins folder was not the solution, neither was greping through all my .plist's to find the CFBundleExecutable. At this moment its just waiting on further discovery from the community and or returning to our 3rd party resources and asking them to update their libs which may not be as easy as apple is suggesting us to do.
To identify the affected libraries I built to an iPhone with Bitcode enabled and in my case their are three libs that need updating. This may not be the best solution but if you need an explanation for your superiors this may save you some time in identifying what needs updating.
I will update my thread as I continue along this road.
Apple recommends to test by archiving the app first and then exporting the app for ad hoc distribution. If there are errors, you can then see this in the logs, you can access them from the export dialog.
My favorite solution, if there is no error during export:
update cocoapods
run pod install
clean the project and resubmit
It just worked for me, no clue why, but it might be worth a try instead of wasting hours on finding a solution for a non existant problem ;)
For me the Issue was that one of my frameworks wasn't embedded and signed . hope that might help someone
I have met with this situation with Xamarin IOS Project in Visual Studio
I have solved in
Clean All
Rebuild All
then archive your project

iOS Builds: This build is invalid in iTunes connect

I recently uploaded an app to the app store and its been processing for a few days now. I went in this morning to check everything out, and on the top bar of iTunes connect, i clicked on iOS builds to see how everything was going and I got a red circle with an exclamation point in it. When I clicked on it, it says "This build is invalid". Does anyone know the cause of this?
Check your email, it tells you exactly what is wrong. In itunes connect it simply says "This build is invalid" which is kind of useless. If you check your email it will most likely be a testflight issue as you included the sdk in your build and its integrated into itunes connect now:
"TestFlight SDK - TestFlight no longer requires an SDK to enable beta testing, crash reporting and analytics. To continue using TestFlight, set up Beta Testing in iTunes Connect and remove references to the SDK from the following executables:"
I was facing the same problem. I solved it by good luck after couple of hours of struggle. This issue was due to cocoa pods. Actually I installed "Alamofire" through cocoapods versions "0.38". I updated the pods for Alamofire 3.1.2. This build successfully got uploaded to the itunes connect but was declared as invalid in itunesConnect.
This reason was Alomofire 3.1.2 required cocoapods version 0.39. But I updated it using 0.38. So it was the issue.
Fix: Normal updating cocoapods by using the cpmmand $ gem install cocoapods, and then updating alamofire would not fix the problem. You will have to :
1. Update cocoapods using $ gem install cocoapods.
2. Delete the existing pod references from your project.
3. Reinstall pods using pod install command.
4. Done
You could validate the app archive trough Xcode and get details of what is the problem. The archives are currently found under Window->Organizer. To validate it you can click the "Validate..." button under the "Upload to App Store..." button. This may help you if you didn't get an email with details for the problem as was my case.
I got the same problem too. and It turns out that I archive the build with Reveal framework reference. I think that's the problem.
In the pass, I made the same mistake and Xcode shows detail error info during uploading. Now it seems not.
I got the same problem too. I write a App with Objective-C and use ios-charts(is swift),and I need to support iOS7,so it is troublesome... and when I upload app to AppStore I get the problem. I submit it again ,but still the problem. then I despair to clean the project and reset the codesiganature,what... that work! I just hehele ... enter image description here
In my case I just Drag and Drop The SDK In folder include info.plist file which is not in use. That's create the issue for me. So find the unused info.plist file and delete it from the Source code. Clean the project folder and Re upload.
Recently I faced the same issue on iTunes Connect and I received an email from apple regarding to TestFlight SDK that I forgot to remove from my project bundle. It says 'TestFlight no longer requires an SDK to enable beta testing' so after removing SDK clean the code, make archive again and upload. That't it!

Various ITMS errors when trying to submit archive to App Store

So this is a weird one — I get the following errors when trying to submit my archive to the App Store:
ERROR ITMS-90049: "This bundle is invalid. The bundle identifier contains disallowed characters. [See the section of the Application Programming Guide entitled The APplication Bundle.]"
ERROR ITMS-90049 "This bundle is invalid. The bundle identifier contains disallowed characters
ERROR ITMS-90056: "This bundle is invalid. The Info.plist file is missing the required key: CFBundleVersion."
From my plist:
<key>CFBundleIdentifier</key>
<string>com.myApp.app</string>
…
<key>CFBundleVersion</key>
<string>3.1.5</string>
…
<key>CFBundleShortVersionString</key>
<string>3.1.4</string>
Running xCode 7.0.1
Update XCode to 7.1, it is posted yesterday.
Use the newest XCode to submit will be OK.
==================================================
As muyexi said, I delete TencentOpen SDK info.plist,then submit success.
Check if the third-party's has plist file.Apple may mixed the third-party Sdk plist with the local plist file. Delete the third-party's plist file then upload success.
I solve this by following this link, add Bundle identifier which is missing in info.plist of TencentOpen SDK.
If you are using cocoapods, make sure you do a
pod update
That will update all your pod files and solved this issue for me!
I'd like to expand an answer given by #silvon and link more keywords to this question.
Apparently, iTunes Connect backend now validates every single bundle shipped with your app. If a bundle contains Info.plist file, it must have CFBundleVersion and CFBundleShortVersionString keys.
So, if you are using any 3rd party frameworks (specifically, with Cocoapods), make sure that Info.plist in each framework bundle (if exists) contain these keys.
For all of you using CocoaPods, simply try to
pod update
In my case, it was a third party library loaded via cocoapods, but the update did the trick. BTW, none of the libraries had new versions, the update seems to repair some bad things too.
iTunes Connect is currently experiencing major issues. I can't post any citations as I'm unaware of an iTunes Connect support status page, but I spent a while on the phone with them earlier today for a similar issue.
There seems to be some Issues from Apples's Side, I am experiencing the same issues, I would suggest to wait for some time before making any major changes.
This seems to be happening a lot lately, after some time, It starts working again .
I did the same step as Silvon mention.
Removed all third party lib's info.plist (pods as well) with xcode 6.4. Works for me.
Similar to the answer with top rate , but you need to check every SDKs in the project . in my case, it's cocoapod has info.plist. I deleted it and everything works. Xcode 7.1 still has this problem.

XCode - Invalid Signature. Code not signed at all. ITMS-90035

I recently made some changes to my iOS app.
Now I want to push the new files to iTunes Connect and I keep getting "ITMS-90035 Invalid Signature. Code is not signed at all."
I found answers to similar questions here on StackOverflow but I there was no solution provided that worked for me.
Here is what I tried:
I tried to reactivate my certs / provisioning profiles to make sure they are valid and configured for deployment
I checked for .sh / .git files as mentioned here - but couldn't find any
I checked my build settings as mentioned here
I checked for external libs but I'm only using GoogleMobileAds and GoogleAnalytics - both worked in my last submit (this issue was mentioned multiple times with different external libs)
Any idea where to search? Sadly iTunes Connect doesn't give any feedback about which file makes the problems.
I noticed you tagged this under swift2. Are you using a beta Xcode to build and submit to the App Store? That's not permitted.
Crazily, I was able to fix this by unchecking the Include Bitcode ? checkbox when uploading via Xcode 8.1 (8B62). ENABLE_BITCODE is set to YES everywhere in my project, so I'm not sure what's going on here.
Will report back once it's sorted.

Resources