Validating app using validate in xcode - Errors found - Image provided - iphone

I got 2 errors when I tried to validate my app with the appstore.
How could I solve this ?
The approach i took to upload my build;
When I set Build configuration to Ad Hoc it Archives correctly (and displays in Organizer), but when I set Build configuration to Release, the archive file doesn't get displayed in the organizer. I have a different question on this on SO, but haven't got any replies yet.
So I clicked on the archived file (which was obtained after I set the Build configuration to Ad Hoc), and clicked on Validate.
Here is the screen shot, can someone tell me what I should be doing to get rid of this error ?
NOTE: Actually I know why the 1st error occurred, but I have no clue why the 2nd one occurred, and need guidance to solve it

SOLUTION TO ERROR-1:
Make sure your app icon is added to your project bundle and Also it is exactly 57 x 57 pixels PNG image.
SOLUTION TO ERROR-2:
Make sure you have set the Distribution Certificate and not Development Certificate in both Project and Target Settings.
You need to cross check it.
Also please cross check whether you are archiving the correct scheme, which you are setting the Distribution Certificate for.
EDIT FOR PRIVATE KEY ISSUE:
I have found louie's answer from the link iPhone app signing: A valid signing identity matching this profile could not be found in your keychain which was helpful to me once with same private key issue:
Here is what Louie's answer is:
I had the same problem: I first downloaded my certificates to my small
MacBook while on the run. When trying to install the certificates on
my iMac... then I ran into the problems described on this page.
After spending hours pulling my hair out like many of you, I performed
the following steps to fix it:
Close all your stuff except your webpage that should be logged into
App Dev center.
Open Xcode. Click WINDOW > ORGANIZER > select "Provisioning Profiles"
on the left. That should bring up your provisioning profiles.
Highlight one by one (if more than 1), right click and delete profile.
Yes, just do it! Delete them all! (I kept making a new one after a new
one trying to make the thing work.)
From the first page you see after logging into the App Dev Center on
the right side click "iOS PROVISIONING PORTAL" > (do not "launch
assistant"). Instead click on the left side. Select CERTIFICATES. You
will probably have just one line listed with your name/company - from
there click on the right side REVOKE. Click OK to verify that's what
you want to do.
On the same page click DEVICES. Click the box next to your device you
are trying to provision and click REMOVE SELECTED. Again click OK to
verify.
Wait about 2 minutes to let Apple do their thing.
Now click on "HOME" that is on the left side navigation.
Click "Launch Assistant"
create a new app ID - call it whatever you want. Just make sure it's
unique enough to know that's the one you just created because the
others you've been messing with all day will not be deleted from
Apples Dev Center.
You should be able to follow the rest of the Assistant without
troubles -- the main thing is you just had to delete your old
provision profiles and start over.
Hope this helps you.

Well... Your screenshot says that you have some problem with your icon and codesign verification.
Icon should be 57x57 pixel, put in your app bundle, correctly added to your target membership and set in your info.plist.
Then you need an iPhone Distribution Certificate from iOS Provisioning Portal.
If you checked icon and certificate and everything it's OK, maybe it is a problem in your uplader: I had same problem in the past (my icon was in my app bundle, but uploader wasn't recognizing it). Try software update to get latest uploader.

Related

Error 0xE8008016

I ran into another iPhone problem again. I finished my app, and I need to test it on my phone before I submit it to the app store. But, whenever I press Run, I get an error message like this.
"The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016)"
I have a Provisioning profile for development and distribution, and certificate with keys for develoment and distribution as wells as my device is listed in the portal.
I'm not really an expert at Xcode, so if you do answer, can you please explain a fix detailing every step. I know lots of other people have asked this problem, but I can't follow there answers.
Thanks in advance,
Will
Having the provisioning profile isn't the same as setting it in your build settings to run with the project. Click your Target on the left sidebar and then click the Project. Click the Build Settings tab. Under code signing, select the proper provisioning profile in each of the drop down boxes. It should build properly after that, assuming you do have the proper provisioning profile and certificate.
If you're just now testing on your phone right before you submit to the store that's a whole other problem, but I suppose you'll figure that out yourself.
Check that the build configuration you use is not pointing to some Entitlements.plist file, which in its turn might be non-existent or containing wrong data about certificate/profile pair. If that the case, the settings in latter will override anything you set in the build settings resulting in having wrong actual certificate used.
To double-check this find your configuration in the "Code Signing Entitlements" section in the Target/Project Build Settings.
In my case I had exactly the same alert when it was pointing to an "entitlements.plist", which could not be found anywhere in the project. Clearing any mentioning of this file for the target build configuration fixed the problem for me.

Error Validating and uploading App to iTunes Connect

This is driving me crazy. I've tried searching for answers and nothing quite matches my problem.
I've successfully archived my app and need to upload it to iTunes Connect. Apple recommends Application Loader but first needs to be done in Xcode. When I attempt to validate or Distribute the app in Xcode, I get an error saying "No Identities are available for signing"
I'm confused because I've wiped my certificates and profiles clean but I continue to get this message. Any ideas what I'm missing?
"No identities available for signing" can get frustrating. What you should do is regenerate your distribution certificate and profile, that should fix the issue.
If you need help regenerating: Download and open the new distribution certificate, which will store it in your keychain. Then, drag-and-drop the profile into your Xcode organizer. Next, your going to click on the project in the upper left (it has a blue icon next to it), that will bring up the projects info. There should be 2 tabs at the top of the screen, "Info" and "Build Settings". When you click on Build Settings, the option to change the code signing is about halfway down the screen. When I ran into this issue, I had to change every single one of the code signing options to iPhone Distribution. (It might not be necessary to change every field, but I did). You should be good to go after this, let me know if you have anymore issues.
I solved the problem by deleting ALL dev profiles and recreating a single provisional profile for Distribution and Developing each. Xcode then selected the profiles automatically without me having to import them into Xcode.

Ad-hoc OTA distribution install error

I have created an ad-hoc distribution ipa file along with a plist file and uploaded it onto a website. I have then navigated to the website and clicked the download link. It pops up saying:
www.mywebsite.co.uk would like to install "myApp"
So I click install.
It then reverts to the home screen to show the icon and the progress bar of the download/install.
Once the bar has reached c.3/4 it then shows another pop up saying:
Unable to download application
"My App" could not be installed at this time.
Any thoughts on what is going wrong here?
For completeness..
I had migrated my project from one laptop to another during the build and had forgotten about it. I had therefore migrated all my profiles but not my private and public shared keys in keychain. Ultimately. I have to delete all certificates and profiles and start again from Keychain.
Actually, once I have decided to start all over again, it was probably only 15 mins to a full distribution profile working. Not bad considering the number hours scratching my head beforehand. But still - Apple...surely you can think of a more slick way of allowing us to test and distribute apps?????

iPhone -- renew team provisioning profile

In the provisioning portal, the "renew" button for my team provisioning profile is grayed out. And said profile is expired.
How can I renew it?
EDIT: I found the "automatic device provisioning" checkbox and "refresh" button in the organizer in Xcode. But when I select the team profile, check the checkbox, and push the refresh button, I get this message:
An unexpected error occurred. Please try again. If the problem persists, please contact Apple Developer Support (http://developer.apple.com/support).
I suppose I can go to support, but it would still be better to figure out what the problem is without involving them.
I had the same "unexpected error" issue with the Team Provisioning Profile when it expired. I fixed it by deleting it in the Xcode Organizer AND in the ADC Provisioning Portal, then hitting renew in Organizer.
Posting this again here..
OK, I had the same problem with the disabled 'Renew' button against my Team Provisioning Profile.
This worked for me.
1) Deleted the expired Team Provisioning Profile from the Xcode Organizer.
2) Deleted the same thing from the developer provisioning portal.
3) Again from Xcode organizer check marked the auto provision and clicked 'Refresh'. it asked for the credentials and in a few seconds added the renewed Team Provisioning Profile.
4) It also added the new profile in the developer provisioning portal.
Refresh and removing the iOS devices did not help on my installation.
But I found that the error messages was misleading. I am also member of the Mac developer program and after choosing "My Mac" under DEVICES and pressing the (+) Add to Portal button, the error message "Your team has no devices for which to generate a provisioning profile." did no longer appear.
So it looks like the error message covers the Mac and not iOS devices even that the URL at the end of the error message links to the iOS development center.
I had the issue that Xcode didn't refresh or renew it's managed Team Provisioning Profile and tried a very long time. I always hit refresh in the Library->Provisioning Profiles - section. Then I tried out the Teams section and after hitting the refrsh button there my Team Provisioning Profile which was managed by Xcode was renewed successfully. Hope this helps some of you.
One more thing: I used the same Apple-ID in three teams. So maybe Xcode failed to separate them while refreshing.
Do these things if you want to really solve the problem:
(1) Are you using the certificate for which you made provisional profile from your mac? Or you are using the certificate from other mac machine. If that is the thing then please get .p12 file from there and install in your keychain.
(2) If your certificate in the keychain is the same for which you made the provisional profile then it's fine. Otherwise you have to create new provisional profile for the certificate.
(3) Please make sure that you have set the app id in the target > properties > identifier. If no then please set and choose the provisional profile from the target > build > code signing identity.
(4) Then clean and build your project.
If you find any problem then please let me know. I would like to solve this problem.
I fixed it by signing into my Apple ID in XCode->Preferences->Accounts tab
Is the certificate it is based on expired? Did you delete the device it was for?
Try deleting the profile and click Refresh so Xcode re-adds it. Just a guess. I don't know why this would work, but it's worth a try.
Are you pressing the renew button from within Organizer in the latest Xcode version, 3.2.5 beta 3?
Here's the answer to compiling question, however, if anyone else has the answer to the team provisioning profile please post.
You can still compile apps for your device/simulator by creating a developer profile and downloading it to your device.
The key to getting it to work is to make sure the profile is selected in both the Edit Project and Edit Target Settings from the Project Menu. The Target Setting is more specific and usually screws people up. Making sure they are both in sync will help you get things up and running.
From these two menus, check the Build tab and make sure the developer profile is displayed. The default is iPhone Developer and should point to your downloaded profile.
Is there a problem using a different mobileprovision file? I believe you are getting the error on using a different provision file because your Target might be using the older one.
Try this
Get the new mobileprovision file and
in Project's Build properties, set
the mobileprovision to this one
Select the active target and in the
target's Build properties, ensure
that the same mobileprovision is
being used
Compile the app.
See if that helps.
As far as the Team Provisioning profile goes:
Does your console say anything? Are you using Xcode 3.2.5? I'd file a radar at http://bugreport.apple.com. Do you see the Team Provisioning file in the iOS Provisioning Portal? Does it have a green light?
You might try revoking it and letting Xcode create a new one.
As far as getting your app to work
You can always create an app-specific development profile. Choose your certificate and the app you are working on. Also make sure to select your device in the checkbox list.
Then download the profile (once it is ready) and double click on it to import it into Xcode.
If you look at the Xcode organizer, you should see your development profile in the list.
If it's red, that means your certificate has expired
If it's yellow, that means you don't have the private key present to sign using the selected certificate
In the project's Get Info window, under code signing, choose iPhone Developer for both pickers. Take a look at see which one is automatically selected (sometimes you have to manually choose the right one).
Then do a Clean & Build and you should be good to go.
I made the mistake of looking in Wrong place in Organizer.
On the left is LIBRARY then below that DEVICES
I had clicked on my Iphone under DEVICES > Prov profile.
No refresh button there.
Correct place is
On the left in ORGANIZER is Library > Provisioning Profiles
then Team provision Profile is here
Click on it and hit refresh if expired
As always.... "grep -ir profile ." and the cmd line are always your best friend when you want to fix an Apple frustrating, inconvenience and pain in the ass.... Spent almost an hour poking around xcode trying to find that option to enter the new provisioning profile number, and none to be found... Only when I grep'd for it, was I able to fix, yet another apple pain in the ass.... I can't tell you how many times I've spend hours going through xcode, stuck, because it won't compile because of some stupid invalid setting, profile or argument, only to fix it when I fell back on grep & ssed...
This worked for me:
start xcode.
Window->Organizer from menu
Choose "Provisioning Profiles" from DEVELOPMENT menu.
click refresh button
exit organizer
return to xcode main window.
Build->Clean from menu
build and run.
I fixed this by going to the portal and clicking "modify" on all expired profiles. Then click "select all" for devices and submit.

Build and Archive Option in XCode and Submit to iTunes

Although I have already submitted my app using Build And Archive and then clicking on the Submit to iTunes connect I will ask the question anyway. Apple says that select a Distribution profile when submitting to Apple. So, I went on iTunes and downloaded the Distribution profile. I added profile to xCode. I did the build and archive option then validated the application. Everything was validated successfully. Before submitting the application I noticed that there is a big question mark on the left hand side saying "Application Info". This is strange because I have already filled out all the name, description, version, keywords etc on the iTunes connect website. Anyway, I submitted the app and now it shows "Waiting for review".
Will the validation catch the exception if I try to submit the app for any profile other than the distribution? I am asking this because I have several profiles I created for BETA testing.
UPDATE 1:
One other thing I am noticing is that even though when I select the distribution profile and do build and archive. When I open the archive.plist file in the archive folder the XCProfileUUID value matches that of the Team Provisioning Profile and not to the distribution profile. Not sure what is that??
Validation does not check, to my knowledge, which profile you built & signed with. It only checks that you selected a valid profile.
You must ensure that you have selected your distribution profile under Project > Select Active Build Configuration. There are a number of other application settings you need to verify are filled out properly.
Apple provides a great step-by-step Howto in one of the tabs online where you create & download your Distribution profile. As long as you followed those steps & properly set the Build Configuration, you should be golden.
The validation would not have passed if it was incorrectly signed.
I don't know if it is too late to talk about a solution of the issue. Anyways, based on my personal experience, the big question mark in the "Build & Archive" screen indicates that you have not explicitly specified the icon name for the "Icon file" key in the info.plist file of your app. Don't worry, this issue only relates to the "Build & Archive" screen, and your submitted app is still as good without the explicit declaration of icon file, rest assured!