Why are users disabled in the Build Permissions list and how can I enable them for distribution of my TestFlight app? - testflight

When I get ready to send out my IPA through TestFlight, I reach the Build Permissions list as expected. This is the screen that has usernames for you to choose for distribution.
Some of those names are grayed out and I cannot select them. I'm pretty sure they're in my provisioning profile and that I've uploaded their UDID.
How do I enable them?
Edit: alternately, I've heard that it's possible to superimpose a provisioning profile/distribution list after an app has been distributed. Since I just want to get my app out to my testers ASAP, is that an option here for sending the app to the disabled folks? Would everyone get spammed a second time, in that case?

Your provisioning profile has a list of devices associated with it. TestFlight grays out team members who don't have a device that's part of that list. This means, in the iOS Dev Center, you need to update your provisioning profile's list of devices (just check that entry) or even add the device to your dev account's master device list if needed.
Also, super-imposing a provisioning profile via TestFlight has never worked for me to update the original device list in the profile.

Related

WatchKit Upload

I am trying to submit my WatchKit app t iTunesConnect. I click "Archive" and then validate and I am shown the message below. I have created an App Id for the app, extension and WatchKit App as well as distribution profiles.
Where am I going wrong?
Thanks
To properly sign a watch app, you need three different App IDs and each App ID needs a provision profile.
Go to Developer Member Center
Add/Edit the three App IDs:
One for your main App bundle, you may need to add the entitlements you need, like App Groups, Keychain Access Group.
One for your watchkit extension bundle, you may need to add the entitlements you need.
One for your watchkit app bundle. No entitlements needed.
Delete the distribution provision profiles for the three App IDs, if they already exists.
Add three new distribution provision profiles for the three App IDs.
Now go back to Xcode, open Preference and go to Accounts.
Choose your Apple ID, click View Details on the bottom right.
Click the refresh button on the bottom left, wait for the list of provision profiles to change.
In Build Settings for all your targets, configure the Code Signing part as below.
Try Archive again.
When you submit your app, XCode will ask you to confirm the provision profile it uses to sign each of your bundles. You need to be sure that the provision profile names match those you configured in Developer Member Center.
I have uploaded one app to itunesconnect with watch app.
This is very simple. You need to create 3 appstore provisioning profiles and the bundle identifier for the extention and watchApp are like
com.abc.app - Phone app
com.abc.app.extention - Extention
com.abc.app.watchapp - watch app
and also sync app group in capabilities tab in all 3 targets.
All are well.
you just needs to create Archive for only Phone App (Main Target). That's It. When user will download your app. And if phone have attached Watch then this will automatically get informed to you for watchapp download.
Judging by the screenshot, it looks like your profiles need to have the missing entitlements (beta-reports-active, keychain-access-groups) added to them.
You will need to create a provisioning profile for the watchkit extension as well as the provision that you have for your app.
If you download the Apple Lister App Code Sample there is a guide to getting started that show you everything that you need to do to setup your app to work properly on a device with Apple Watch.
https://developer.apple.com/library/ios/samplecode/Lister/Introduction/Intro.html
Click on the Download Sample Code button, and in that folder there is a file called iOS and Watch Quick Start.pdf
Using XCode 6.3 solved the problem to me.
I previously used 3 provisionning profiles for watch apps
source : Watchkit Extension - No matching provisioning profiles found

Receiving Error on Xcode: "An administrator must request identities before they can be downloaded."

So I am using Xcode 5 to publish my first app on the App Store, but for some reason it is saying that I must request identities before they can be downloaded. Well, I am the administrator and I searched online for 3 hours looking for a solution. I did possibly EVERYTHING on Google, Youtube, and even StackOverflow. I am just hoping now that I will get a renewed answer.
Try following these instructions. You need to generate a Distribution Certificate, use that certificate to create an Ad Hoc or Distribution Provisioning Profile, download and import that profile into Xcode, Archive your app, and validate it.
https://developer.apple.com/library/IOs/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40012582-CH1-SW1
http://anthonytietjen.blogspot.com/2012/08/overcoming-trouble-validating-your.html
Also, go into Build Settings for your project and go to Code Signing. Make sure the Code Signing Identities are all set to the iDevice Distribution App ID you created in iTunes Connect as well as the Provisioning Profile set to the Provisioning Profile you painstakingly created in the iOS Development Center as well (that Ad Hoc provisioning profile file you created and downloaded into Xcode.)
I would say that if you still can't get it working with an Ad Hoc provisioning profile, try generating an App Store Distribution Provisioning Profile within the "Certificates, Identifiers, and Profiles" portion of the Development center , import it into Xcode (by refreshing the provisioning profile list under Xcode->preferences->accounts->details->refresh button) and go through the validation process of your archive again. I'm not sure if it's because Xcode can't validate an Archive with an Ad Hoc profile or what, but it seems to pick up the Distribution Provisioning Profile just fine and allows you to validate. Don't worry, even if you don't validate the archive with the Ad Hoc provisioning profile, you can still create the .ipa for your archive by hitting the Distribute button in Organizer->Archives and choosing the Ad Hoc profile so that you can beta test it.
Also one other reason for this which I faced was that I had renamed the project since I first started it. The CFBundleIdentifier was set to com.ABC.${PRODUCT_NAME:rfc1034identifier}. Turns out that the ${..} was evaluating to not my current project(renamed) name when I was trying to validate gave the the same No identities… message. Changed this entry to com.ABC.my-new-project. Rebuilt the archive which now I could validate.
So watch out for project renames.

App profile needs to be renewed?

I just clicked on Organiser in XCode (I'm running latest publicly available version), and I noticed on one of my apps profiles it says "renew" so I click on that and I get an error msg, saying..
The given profile was not found on the provisioning portal.
Please refresh your provisioning profiles before attempting to renew
“AppProfile"
I don't understand any of that. So...
1) What is it asking me to renew? a development profile? do I need to renew developer profiles? what happens if I don't?
2) Why am I getting an error? what does it mean by "refresh my provisioning profiles" ?
3) Do I have to do this (whatever this is and however I have to fix it) for all profiles? development and distribution?
well i dont know if you have found an answer or not but here is my answer.
you need a valid developer and also distribution profile ( i am sure you are aware of this already) to upload your app. if your app is uploaded and is in the app store you still have maintain a valid developer profile in order for your app to stay in the app store. otherwise they will bring it down.
the fact that it asks you to refresh your developer profile is related to the new system of developer profiles that all of a sudden got introduced. there is no need of renewing your profiles every 3 months anymore. your profiles are good for a year. you have to go to organizer in xcode and select all the profiles you have in there. delete them and then go to your team or your own name on the right pane and there you find the refresh button down at the bottom of the window. when you use that it resyncs your profiles with the developer site.
yes you may have to do that for all of your profiles if you have not done that in past three months.
i hope you find my answer useful.
Edit:
Just go to the developers site and revoke the ones that are about to expire or already expired. Then remove them from keychain and xcode also. Then in keychain create a new certificate request and on the Dev site create new profiles. After creating the new ones download them so they can synch with keychain. After that go the organizer and refresh. Xcode will synch with developer site and will download the new ones. Make sure you connect your test devices so the new profiles can be updated as well. That should do the trick.

Expiring Enterprise Distribution Profile Cannot Be Renewed

On the Organizer Library we have the list of Provisioning Profiles. Here I have a my enterprise distribution profile that is about to expire (2 days) And it has a button that says "Renew" next to it.
When I click on the button, I get the next Error Message:
The given provisioning profile has no associated devices and cannot be renewed.
Please add devices to your provisioning profile before attempting to renew “enterprise”, or create a new provisioning profile.
I have tried to add random devices to the profile by right clicking on them and selecting "Add Device to Provisional Portal", but it doesn't seem to work. It just adds the device on the Developer iOS Provisioning Portal Devices list. But the profile associated to this device its not my distribution profile, it's one called:
iOS Team Provisioning Profile:* Xcode: iOS Wildcard AppID
And I cannot modify it through the ADP to change the profile. But I don't think that is the answer.
Now, the thing is that I have about 1 thousand users and I would prefer not to create a new profile to recompile my apps and then ask them to download them again.
Is there a way I can renew this profile without all the pain?
The error you are getting can be misleading "The given provisioning profile has no associated devices and cannot be renewed. " With enterprise profile you need to add device only for Developer Profile not for Distribution. This is why you do not have a device limitation with distribution. I do not think expiring profile will affect existing user who uses your application currently but anyway you have to renew your profile in the end. My suggestion will be deleting and recreating it.

Problem with XCode Distribution Provisioning Profile

I'm having a problem with a Distribution Provisioning Profile in XCode. After an entire day of reading and following the iOS Provisioning Portal, and googling the issue extensively, I'm looking for help please.
It appears to me that I must satisfy the following conditions in order to distribute an app on the App Store:
1) I must target a DEVICE (i.e. not a simulator) in my build.
2) The targeted device must be configured in the XCode Organizer with a Distribution Provisioning Profile.
But I can't seem to satisfy these conditions through the Provisioning Portal, based on what I've experienced so far:
1) I created a Distribution Provisioning Profile.
2) It indicates zero devices.
3) When I attempt to edit it, Devices are grayed out when "App Store" is selected as the "Distribution Method", but not when "Ad Hoc" is selected. So I can't add devices for App Store distribution.
4) I downloaded the Distribution Provisioning Profile (.mobileprovision file).
5) In XCode's Organizer, when I attempt to add a Provisioning Profile to my device, the Distribution Provisioning Profile that I downloaded is grayed out.
I'm concerned that the Distribution Provisioning Profile indicates zero devices. Is it because only Development Provisioning Profiles can indicate devices?
I'm also concerned that I can't add the Distribution Provisioning Profile that I downloaded to the device in the XCode Organizer. DEVELOPMENT Provisioning Profiles do not appear grayed out. Is that because only Development Provisioning Profiles may be added to a device?
When I do the build, I made sure that the Code Signing section specifies "iPhone Distribution", and indicates my Distribution Provisioning Profile. The build completes successfully, but I get the following error and the program will not run on the device:
"a valid provisioning profile for this executable was not found"
I must be missing something, as many other people have done this successfully. Can someone please point out what I am missing or doing wrong?
Any help is greatly appreciated.
Your second assumption is wrong. You don't have to target a device in the distribution profile. Unplug the devices from your computer, select the distribution profile and target iOS device in the scheme selector and build (without run). The result can then be zipped and uploaded to apple.

Resources