How to submit to iTunes Connect in XCode 6 - ios

This must be the worst question ever asked.
I'm almost ashamed to ask it but I can't wrap my head around this.
We are trying to push my app to itunes connect for beta testing.
Now there is no way to do this because XCode 6 gives all signing errors available.
We are able to run the app on the development device just as usual. We have the profiles.
But when we set the release sign identity to iOS Distribution, the hell breaks loose.
No matching identity was the first error. Fix issue releases another error:
No provisioning profiles with a valid signing identity were found.
It's useful to note that XCode knows this better than I do so it changes the code signing identity back to developer.
That's not me, I want to distribute.
Ok so at this time we're stuck at this error. We don't know where it came from, but we do know there was another error.
While pressing the submit button in the organizer the error was:
"You already have a valid provisioning profile"
According to the apple documentation I should press the revoke & request button but that isn't there.
So here we are, totally stuck and have no idea where to go now. The apple docs are incomplete, the signing gives errors but no logs. Errors messages change, but are consistent.
What the hell should we do now?
Reinstall OSX and remove all existing profiles? What will happen with current clients running apps on those profiles?

Have a look in yoru account and check that the provisioning profiles are active and not invalid. You might need to regenerate it.
You might also want to download them manually and install them yourself.
Sometimes I've had to archive the app then submit 'manually' using application loader.

I would recommend going back to basics:
check your development and distribution profiles on the developer site. if you have recently renewed your annual subscription, you might need to recreate them.
when you are archiving make sure you chose the real testing device, not a simulator.
if both doesn't work, create a new empty project and sign it with the profiles and archive. if that works, then check if you altered the bundle settings. if it doesn't work, delete your profiles and recreate them.
I hope that helps.

Hmm. I understand the plight of having to deal with the overly complex process of app submission which should have been rather simple.
Two things:
Make sure you delete all the provisioning profiles. Revoke and request a new one. Create a new certificate with distribution licence (you can make upto 3).
Once you've done that go to tour XCode > Preferences > Accounts and open up the apple id you find there. Refresh and that should download and fix redundancies.
For more I think you should also give this a read.
How do you beta test an iphone app?
About you second issue. What would happen to apps packed with previous profiles?
Well, your app is not bundled with a particular profile and so you can create a new one and use that without pain

Related

Xcode Signing - Failed to create provisioning

Here's the story:
I created a free developer account to build an app for a client.
I used this info for the Identity and Signing:
It came time to upload the app to TestFlight and to use the client's developer account.
I created the account in xcode using their apple id and updated the signing like so:
But now I got this error.
It was clear, so I updated the Bundle Identifier to this:
But again, now I am getting a different error, and I don't know what to do.
I do not have an iOS device to register, nor do I care to get one, since I'm not doing the testing - they are.
I did create an app in the App Store Connect, and it is set up like so:
As you can see I created it to match the Bundle ID from before and still no luck.
Any help is greatly appreciated. I just want to be able to get my Xcode project onto TestFlight using someone else's developer account (with their consent of course).
It needs to have at least one iOS device registered in order to create the development profile. Ask your client for the UDID of one of their devices and add that manually to the developer portal. If they don't have one handy, feel free to use: f978c5f2e861f71b340125a4fa8d130a6254a0b3 which will work.
Alternatively, switch to manual signing and do everything manually. That's my preferred method, but some say Xcode is finally good at managing profiles etc for you.
The only way to do this without a device is to turn off "Automatically manage signing" and manage everything at the Member Center.
You will need the distribution identity / certificate first. If the team already has one, you will need them to export it to you; otherwise you cannot upload.
Then register the app.
Then make a development certificate, and a distribution certificate for the app store, and download and install them.
Now you can archive and then export to the app store.

TestFlight is Currently Unavailable Message

I am getting message "TestFlight is Currently is Currently Unavailable. Try again later" when trying to install from TestFlight app. My outside testers get a message "[App Name] beta has expired" when trying to run the app. When trying to renew from TestFlight they get "TestFlight is currently unavailable. Try again later." I've been trying again later all day and just wanted to see if anyone else is experiencing this.
I had this same error.
Discovered that the company certificate was expired, and therefor all provisioning profiles as well.
1. Renew the company certificate (download, install on your computer)
2. Renew the provisioning profiles (edit, select new valid certificate, generate, download and install in xcode)
3. Repost the app to iTunes connect
problem solved :)
If you're new to Xcode, be sure to note the difference between a CERTIFICATE (first large red arrow below) and then a PROVISIONING-PROFILE (second large red arrow below). Basically provisioning-profiles are made using a certificate. So first make a new certificate, and then set a provisioning profile to use that certificate.
First, certificate...
Then, provisioning profile...
In the second image, click on the "Distribution" provisioning profile (the one with the purple arrow.) Then click to edit it, and you will then see the third image below. Note that somewhat annoyingly, the DATE is the only way really to distinguish your corporate certificates, when, you have more than one. (Ultimately you can, generally, just throw away the OLDER one, but it's clearer if you leave it so that you can clearly see how you select one or the other, as in this third image.)
Editing a provisioning profile...
A minor point is that you'll have to make a new build (so, increase the build number in Xcode, then archive, and then send up that new one) because you'll get a "redundant build" warning if you fix the cert/profile (i.e., as described in this answer) and re-submit.
Another possible reason for this message:
You accidentally removed the affected user from the TestFlight external testers group.
Adding him again would fix the issue.
Problems with certificates have been identified in several answers as the cause to this message. However, there's another possible (yet stupid) cause that leads to this situation.
You may see this error if your device's date/time is not set correctly. So make sure you set the correct date or "Set Automatically" is enabled under Settings > Date & Time.
I spent 2 days "trying again later" until I realized this.
I was ultimately able to fix this message by uninstalling and reinstalling the TestFlight app from scratch. Worth a try if the other answers don't fix your problem.
Make sure TestFlight can use Mobile Data if working without Wi-Fi. Otherwise it fails with this generic error.
Had to disable 'Use cellular data' option in Settings for Testflight. I did not have cellular data internet and was connected via wifi. Looks like testflight tried to use cellular data with that option being on.
Did a factory reset and that fixed it for me.
Actually just waiting solved the problem.
I had to wait around 16 hours and then it worked normally, without doing anything particular.
Sometimes the error message is just what it is, no need to panic !
Ahh devs ;)
Currently, Testflight is experiencing issues. It's always worth checking Apple's status page
Another possible reason , if your mobile app build is in processing state for a long time.
Just wait for the build to complete apple processing solved our issue of Testflight currently unavailable.
I had this same issue when using my personal email for beta testing my app, then using my apple ID email for internal testing.
I solved this issue by removing my personal email from all testing tracks, then deleting the TestFlight app and downloading it again. I now only use the one email (my Apple ID) for all testing.
I had to go to https://developer.apple.com and accept a new version of Apple's Developer Agreement

Xcode 6.3 - You already have a current iOS Development certificate or a pending certificate request

Xcode as of 6.3 is no longer allowing me to automatically perform device provisioning for a client. Has anyone else experienced this issue? I found no results when searching for this on Google...
This client has their own bundle ID and it's possible they also have their own provisioning profile for this device. So maybe Apple is matching up the bundle ID irrespective of the developer account being used for provisioning.
I was able to address the issue by modifying the app's bundle ID and manually going through the provisioning process, but I'm guessing this issue is extremely rare, so I'm not sure if this post will be of use to anyone.
When I am create new certificate from my Xcode 9.2 the error was appear
"You already have a current iOS Distribution certificate or a pending certificate request".
Just 2 step for fix this error.
Remove old certificate from developer.apple.com
Create new certificate from Xcode or developer.apple.com
My problem has been solved (I am using Xcode 9.2).
I just found that if I remove my account from Xcode, and then sign in again, it solved the issue. I did revoke my existing certificates and request new ones though as part of that process. I didn't import an existing profile.
My team has maxed out on release certificates, because apparently there is a quota.
We had to delete one of the existing release certificates.
This issue is actually more common than you think.
Some Solutions:
I usually find that opening Xcode's settings and signing out of my account and the signing in again resolves most of those issues.
You may have an older mac that already used up that one allotted development certificate. In that case you'll want to export the developer profile from that machine. If you no longer have access to that machine, it may be time to invalidate that certificate and simply request a new one.
Another option may be to double check your build settings in your project and ensure that it's looking for the right certificate. It's fairly common in my experience for these settings to make decisions on their own, and confirming that they're what you expect may help.
Background:
When dealing with provisioning, it's really easy to get caught up with the frustration of all of the steps you need to go through. The first thing to note is if the error you see is talking about a "Certificate" or a "Profile." In your case, it's a certificate. Good.
Certificates differ from provisioning profiles in a few ways. Certificates are usually only generated twice: once for development, and once for distribution. (Exceptions to this rule are if you decide to add support for some of the special features like push notification or for generating passbook passes on a server.)
The process for generating certificates is also a little more bureaucratic than profiles. You request a certificate from Apple's Member Center. You generate a provisioning profile.
The reason for the word request vs generate is because both Apple and your iOS team's admin need to approve certificate requests. This is because certificates identify you as part of your iOS developer team, and offer all the powers associated with that.
For the sake of completeness, I'll add that provisioning profiles are generated based on that certificate, and really only tell iOS what environment your app is meant to run in. (On any device via the store, specific devices, etc.)
Now, the important part for you is the request business. Most people don't pay much attention to this terminology, since indie developers and small teams (where the developers are admins) don't require developers to ask for permission.
Your error is talking about a previously generated certificate or request. You can only have one development certificate per developer. You either have one, or you've requested one and someone has to approve.
That's what's happening here.
This process is made simple with Xcode 8.3 and 9. Just delete one of your old certifcates in the "validate" interface and click the plus button to request new one, Xcode will request for you and add it in keychain. in my case, maximum number was reached, so I deleted one which was lost in a old Mac and created new one.
This error may also be occur if you reach your distribution certificate limit. After creating 3 iOS Distribution Certificates in an account, the following error message will be displayed when you try to create 4th one: "You already have a current Distribution certificate or a pending certificate request."
Open this link
https://developer.apple.com/account/resources/certificates/add
Press + icon in front of Certificate
Check Apple Distribution section if its show the red text as shown in image then you should revoke you existing certificates to generate new one because you have reached you limit.
Just 2 step for fix this error.
Remove old certificate from developer.apple.com
Create new certificate from Xcode or developer.apple.com
Delete old developer certificate from https://developer.apple.com/account/ios/certificate/ and try to create developer certificate from xcode
1) Remove old certificate from apple developer account.
2) Go to the 'Xcode' 3) Select 'Preferences' option and then Select the 'Account' Tab
3) Select apple id from left side and click on 'Manage Certificate'.
4) Click on '+' (add certificate) button.
5) Add 'Apple Distribution' Certificate.
Unfortunately, only a macbook restart resolved this for me.
Creating another Distribution certificate was not an option, because it had already reached the max. number of certificates.
I manually added an existing one (incl. its private key) to the Keychain …and still Xcode said "Not in Keychain". I then tried to trigger a refresh of the Xcode listing by removing & adding my developer account to Xcode, but that didn't work — neither did restarting Xcode.
So, when all else fails, you try to reboot your system.
When you have three active distribution certificates that were created on distinct machines, you'll see this issue. You can either ask for the private key of a previously made one or simply revoke any of them and make your own.

iOS & XCode5 App publishing fails - Error ITMS-9000: "The binary you tried to upload was invalid"

I was already looking through some other threads here with the ITMS-Error 9000, but they didn't help me to get my App passing the submission to the App Store.
I have NO errors or warnings inside XCode.
The App is perfectly working on iOS Devices & Simulators.
EDIT: What I have already tried:
Changed Deployment Target from iOS 7.1 to 7.0
Checked the Bundle ID in iTunesConnect and inside Xcode
Checked for any errors and warnings --- removed / fixed them
Do you have any additional ideas what it could be? Without any errors or further information it is hard to find out what the reason is.
UPDATE2::
If I try "just" to "Validate" instead of "Distribute" in the organizer after Archiviing it i get the following Error
Its an Issue with Apple's Server I tried validating the app it said "Unable to process app at this time due to general error" a quick search about it on SO said its got nothing to do with our code or project but some process running at Apples server
Assuming that your binary icons does not meet as per apple's human interface guidelines.
It most probably seems to be the issue with the profile you are signing your app with. You got to make sure that your are signing the app rightly with proper distribution profile. Also check out for the bundle identifier and make sure that it is same as the one you have given in itunes connect.
Check this link!
You should be creating the binary with the simulator or some device connected.
Try it:
Unconnect iOS device from your Mac,
Dont select any simulator, just leave it as it is, iOS device option
Archive it
Publish it
Make sure you're using a provisioning profile for the App Store (not for Ad Hoc distribution)
Then select this profile when building your app.
I would guess this all has something to do with Apple making system changes to prepare for iOS 8 and in doing so somethings got broken.
The issues look to have just been resolved by Apple. I just successfully submitted an app that was previous showing the same problem you had. If you look at your Provisioning Profiles, you should notice that Apple has removed your app's previous Distribution Profiles.
To get your submission working again, all you have to do is recreate your App Store and Ad Hoc provisioning profile, but make sure to use a new name and you should be good to go. You were not alone on this one. A bunch of people experienced the same problem and there were a lot of posts about it on the official Apple Dev forums.
Please check the Distribution Profile that you are signing your app with at iTunes Connects. make sure that it is still valid. I had same issue couple days back and after a struggle , i found out that somehow my provisioning profile was not valid anymore. Creating a new profile and submitting app with it solved my issue.
Apple have deleted corrupted provisionning, you just have to regenerate it and make submission works again !
Connect to your iOS Developer
Certificates, Identifiers & Profiles
Provisioning Profiles / Distribution
Here you can see some certificates missing. You have to re-create (Distribution / AdHoc). Note, you have to change certificates name !
In Xcode, refresh your certificates, set the right one in Build Settings, and submit...
I called today the Apple Developer Support and i get one very very simple answear to this issue.
You have to create all your certificates, provisioning profiles etc with Apples SAFARI browser.
It is not working "always" proper with Mozilla Firefox or other Browsers. So if you get such an error, try to recreate it with Safari! It worked like a charm!

Code signing issue: Is any difference between this two screenshots?

What is the difference between these two screenshots?
and
update: When I uploaded my app on the appstore I got invalid binary. I am trying to find a solution.
Well, in the first one you're telling it that the default behavior is to not code sign, but the behavior on "Any iOS SDK" is to go ahead and code sign after all. In the second you're telling it to always code sign. However, since "Any iOS SDK" covers every compilation you're ever going to do on an iOS project, the former is effectively equivalent to the latter in practice.
You are asking the wrong question.
The Debug and Release Targets are not meant for App store submission. You want to create a Distribution Target, which is usually a clone of your Release Target, except with the Code Signing Identity changed to being your Distribution certificate and Distribution provision file instead of your Developer certificate and provision. You might also want to make sure to Validate your Distribution build before trying to upload it.
For submission to the App Store via iTunes Connect, you need to sign your app with a Distribution Certificate, not a Developer Certificate.
Follow Apple's step by step guide. It walks you through the whole process even with screenshots.

Resources