Automatically refresh IOS devices in a team provisioning profile by Xcode - ios

I have some IOS devices week by week to which I must send my apps for testing purposes during development. These devices can't be pluuged to my computer, because they are far away from me and just for this case they won't be taken to my local machine. If plugging would be available, my life would be much easier. But it is not the case.
Now I have to do a lot of annoying things by hand: add it, regenereate it, delete it from local machine, add to new one etc etc.
After adding a device to my devices in Apple developer portal I'd like to have it in XCode without regenerating certificate, delete, download to my local machine. There should be some automatic refresh process.
Before XCode 4.5 there was an option in organizer to refresh it automatically by Xcode.
What about in the current XCode version?

In Xcode 4.5 same option to refresh is available.
Steps To create Ad hoc Profile which is to be followed before the above process is done.
Check this.
Steps to refresh profile.
1.In developer portal Add device.
2.Update Developer provisioning profile by adding the device to the profile.
3.Open Xcode> Organiser >Devices
4.Delete the old profile
You will find a refresh button at the button click refresh.
Clean the project and Archive it.
Send it to user, It will work on the new Device.

#TechFanatic's solution didn't work for me.
What did work was for me was:
From XCode, select XCode > Preferences.
Click the "Accounts" tab.
Select your account.
Click the "View Details..." button.
Click the refresh button in the lower left corner.
This comes from the section "Refreshing Provisioning Profiles in Xcode" in Apple's documentation.
EDIT: This no longer works in XCode 7. There is no "refresh" button that I have found anywhere in XCode 7. If you find one, please provide that answer. In the meanwhile, there is a solution of sorts - you delete and recreate the managed profile.
Specifically, if you are doing an Ad Hoc build:
In the member center, delete the "iOS Team Provisioning Profile" for your app. Do not delete the "XC Ad Hoc" provisioning profile.
In XCode, in the XCode > Preferences menu, in the "Accounts" tab, under "View Details..." for your account, delete the "iOS Team Provisioning Profile" for your app by right-clicking and selecting "Move to Trash".
In the "General" tab for your Target, there will be a "Fix Issue" button. Click it.
Don't worry that the member center now says that your XC Ad Hoc provisioning profile is now invalid. That will fix itself in a later step.
Build your app.
Archive your app.
Export your app from the "Organizer".
Select "Save for Ad Hoc Deployment".
XCode will complain that your provisioning profile doesn't match or some such. Click the "Reset" button and then click "Try Again".
XCode should continue and create an .ipa file.
In the member center, your XC Ad Hoc provisioning profile will show up as active again.
Simple, right?

Related

How to add a device to provisioning profile automatically?

I want to allow my users to install my iOS app with ad-hoc distribution. I want to get their UDIDs and add them to the provisioning profile automatically. I know how to do it manually in the developer portal but what I need is an api to do this process automatically not manually.
Does apple provide any api or other means to add devices to provisioning profile automatically?
(Note that I do not have any device available. I just have their UDIDs)
Xcode will automatically add your devices into your provisioning profile. You will see a warning about that on xcode. You can click "Register" button on it.
Try the below steps
Login to your iphone provisioning portal through developer.apple.com
Add the UDID in devices
Go back to XCode, open up the Organizer and select "Provisioning Profiles", ensure that "Automatic Device Provisioning" is checked on the top right pane, then click on the "Refresh" button, and magically all your devices set in the provisioning portal will be automatically added.

Can't install Distribution provisioning profile

I'd like to submit an app to the AppStore (my first app !).
I've already tested the application in my device (so I already have a development provisioning profile) but I'm not able to install a Distribution provisioning profile in Xcode.
I've followed the procedure (I don't know how many times) but when I try to add the provisioning profile through the Organizer I have following problems:
if I double click on the file nothing happens
if I click Add, the file is not selectable (grey)
if I drag and drop from Finder I see the following message: 1 profile
cannot be installed on "iPhone of Corrado". "iPhone of Corrado" is not included in this profile.
What does it means ?
If I go in the Development Center\Certificates, Identifiers & Profiles\Provisioning Profiles\Distribution and edit the profile, there is no devices and there is no way to add any (while in the Development provisioning profile I see all my devices).
What I'm doing wrong ?
Thanks, Corrado
I don't know which Xcode you are using, but supposing you are using Xcode-5, i suggest you use the automatic provisioning profile sync feature.
Just go to Xcode>Preferences and select the Accounts tab.
If you don't have any Apple IDs account signed just click on the '+' button on the bottom left and select 'Add Apple ID...', put the id and password that you use to log on the apple developer.
After that just click on the 'View Details...' button on the bottom right, and your signing identities and provisioning profiles should appear there. If they don't, just click on the bottom left refresh button.
I've just spent the last 12 hours trying to figure out why my OSX App wasn't code signing and the error was related to the provisioning profile containing 0 devices for my Mac. After following the advice above, much head scratching, deleting and re-creating certificates, the following link provides the correct approach for Distribution provisioning
https://developer.apple.com/library/ios/qa/qa1814/_index.html
Moving forward it seems that for Mac App Store Submission on OSX the correct code signing identity to use is Mac Developer and set the Provisioning Profile to Automatic.
You do need to restart Xcode during the Code Signing and Provisioning reset, but it does work.

No identities were available - administrator request

I had problems while "archiving" my app. I think there are invalid profiles because of iPhone Update to 5.1 and XCode update to 4.2.2.
I've taken now more than 4 hours to get rid of certification issues while using this thread step by step 3 times (which costs a lot of time):
Getting "A valid signing identity matching this profile could not be found in your keychain" warning
I still have the following fault:
No identities were available
An administrator must request identities before they can be downloaded.
The "Download identities" button went back to this window after processing some seconds.
Do you know how to get out of this wood of certification documentations and solve that fault?
Visit Member Center
Go to "iOS Provisioning Portal" -> "Certificates" (Left sidebar) >> "Distribution" tab
Check field "Provisioning Profiles". If empty, next (4)
Go to "Provisioning" (Left sidebar) -> "Distribution" tab. Press "New Profile" and complete it.
Go back to (3) check the field again.
Download and "run" (double click) the new provisioning profile.
In your project's build settings select the NEW provisioning profile (it might have the same name as the old one)
In your project's build settings update your code signing identities (all of them) to the new one if there is one. (The old one was probably expired which is one of the biggest causes for the error message you saw)
Verify that your bundle ID is correct (CaSe SeNsEtIvE)
Back to XCode Organizer - Devices. Click TEAM (Left sidebar) and click "Refresh" (right-bottom). You will find XCode fetch the new profile. If new content loaded, repeat steps 6 and 7 (they will have been changed!) *If you can't find team because you are running a newer version of xCode, go to Xcode preferences (clicking "Xcode" on the mac toolbar on the top left corner of your screen) and go to account, select your team and click refresh. If new content loaded, repeat steps 6 and 7 (they will have been changed!)If you are in Preferences -> Accounts and you still can't refresh, then:
Click on the Accounts tab
Select an Apple ID in the list
Click "View Details" on the bottom right
Click on the refresh arrow on the bottom left
Xcode will now refresh the updated credentials, and you can proceed to validate or distribute your app.
Validate or distribute your app again. It should work.
If this didn't work then go to "TEAM" under project settings > targets and select "none"... Now that you have selected None you will need to repeat step 7 and change the code signing identities (all of them) and try archiving again.
Lastly, if none of the above worked. Simply create a new production certificate AND create a new provisioning profile with the same bundle ID. (Yes, this will work if you are updating an app that is already live). Download the cert and prov. profile and run both (double click). Now repeat step 6 and archive. This should work.
#Takoi's answer is correct. However, with my latest version of Xcode, there is no TEAM option in the Devices section of the Organizer. I had to do the following instead to refresh the credentials:
Go to Xcode->Preferences
Click on the Accounts tab
Select an Apple ID in the list
Click "View Details" on the bottom right
Click on the refresh arrow on the bottom left
Xcode will now refresh the updated credentials, and you can proceed to validate or distribute your app.
Hope this helps!
Make sure the bundle id in your .plist file in XCode is the same as the bundle id in itunesconnect, if it's off, it won't be able to match the archive to the profile on itunesconnect when validating/distributing.
This is a little easier now.
You go to the app itunesconnect and login
click "certificates"
Provisioning Profiles / Distribution
generate a profile,
download the profile
double click it
I am a member of 2 teams and had the same problem while uploading one of the projects.
Changing General -> Identity -> Team to None in project settings (XCode 5) allowed me to upload the application to iTunesConnect.
Screenshot is here
My certificate had expired which resulted in my provisioning profile being expired.
Once I -
Updated my certificate on the iOS web portal
Clicked Edited on the provision profile
Selected the new certificate and clicked generate
In Xcode I refreshed my provisioning profiles
Error went away
I guess it is written somewhere in the stream, I did not read all in detail. I just want to emphasise on this point:
Due to an annoying xCode behavior, once you've set up everything, you HAVE TO clean the project and Quit xCode.
Then relaunch and build. Now you know if it works or not.
It looks like you're going to have to request another developer cert. Go to the iOS dev center website and go to the provisioning portal. Click the certificates tab and follow the directions. https://developer.apple.com/ios/manage/certificates/team/howto.action
To be clear, you're problem doesnt seem to be provisioning related, it's specifically the developer cert. if you do get another cert, you'll have to create all new profiles to sign your apps with.
My bundle identifier was named differently. I had to change it from Nyquist.GasBro to com.Nyquist.GasBro which is what I had in the provisioning profile.
None of previous answers helped me, so I post my issue.
Dev Center: Certificates, Identifiers & Profiles > Provisioning Profile > Distribution
Make sure that there is a distribution provisioning profile, and App ID in it is exactly the same as Bundle ID of your app in Xcode (Project Settings > General > Identity > Bundle Identifier).
Xcode: Project Settings > Build Settings > Code Signing:
Provisioning profile - choose that Distribution provisioning profile name (not Development!)
Code Signing Identity - I choosed Automatic since I have only one.
P.S. Before doing this, I deleted all unused and expired provisioning profiles and signing identities from Dev Center and from Xcode. Then, refreshed as mentioned in other answers: Xcode: Preferences > Accounts > (my Apple ID) > View Details > Refresh.
The answer that you are looking for is that when you generate the certificate request for COMMON NAME you need to put your HUMAN NAME as in John Smith, not your app name. Apple uses this term Common Name in 2 different ways and doesn't tell you that the certificate is supposed to have your name on it whereas in another area they ask for common name and want the APP name.
I had the same problem.
Nothing mentioned on this page did not work for me until i was deleted everything from archive.
After that problem disappear.
For those who says that the Ad Hoc Distribution profile wont work this year 2014, I have to agree.
In Build Settings locate the Code Signing setting: for Release choose your Store Distribution and then select Menu>Product>Archive.
Later, in the Organizer Window, select your archive and clic in Validate. It will let you select the Ad Hoc profile and validate... then select Distribute, it will let you save as .ipa file.

How to add a new device to a team provisioning profile

I have a new device for our app to be tested on, so I added it to the provisioning portal.
There are currently two development provisioning profiles - however the provisioning portal will not let me edit the team provisioning profile in order to add the new device.
- But I'm sure this something I've done before as I've previously added new devices as they arrived to enable testing with them.
How can I add the new device if the profile isn't editable? (
(The limit has not been reached, there's only several devices in the portal in total).
For Xcode 5 :
From the Xcode menu select preferences>>Accounts, Select your Apple ID then select Details...
You will get a popup with your Signing Identities and Provisioning Profiles.
Click the Refresh button in the bottom left and the iOS Team Provisioning Profiles get re-generated and downloaded.
You don't have to edit it, click Refresh in Xcode Organizer to make it generate a new one for you automatically.
For new XCode 5 & Xcode 6
Adding Device UDID to Provisioning Profile on developer.apple.com
Login to iOS dev center and go to Device section under 'Certificates, Identifiers & Profiles'
Add new Device using UDID
Update Provisioning profile with newly added Device
Once you have added the device and need to update your developer provision profile
Select newly added device in provisioning profile and click Generate
Update XCode with Updated Provisioning Profile
Finally goto XCode --> Preferences --> Accounts --> ViewDetails -->Refresh -->Done
That's All Go for Clean and Build now.
Cheers!!
On XCode 7 the answers here are inapplicable. https://stackoverflow.com/a/32725552/1449799 should work (delete the profiles in xcode, and tell it to download them again), BUT unlike the instructions at the link, for XCode Version 7.2.1 (7C1002), you (or at least I) cannot select multiple profiles at once.
Open the Organizer window in Xcode. With your device plugged in to the computer, select your device in the Organizer.
In the area detailing your device's specs, click the button titled "Use for Development". You may need to log in to your Apple Developer profile. Once that's done, your device should be listed as part of the provisioning profile and have the profile installed.

ios: How do I add a new UDID to provisioning profile without a tethered device?

I know how to add from the web portal, but this particular provisioning profile is marked as "Managed by Xcode", therefore, I need to either stop managing from xcode or add a UDID into the profile from Xcode.
I cannot find any way to "stop managing" in Xcode.
In Xcode, I know how to add the device by tethering to my laptop and refreshing, but I don't see any option to add a UDID.
Here is what worked (multiple times now) ...
(Web) Login to Apple Developer > Member Center > iOS Provisioning > Add Devices
Add UDID with a meaningful name
Create a Provisioning Profile that includes all of your registered devices
(Xcode) Go back to the Organizer
Select the Provisioning Profiles section and select the specific profile
Check the box "Automatic Device Provisioning"
Press the Refresh button
Voila!
If you simply add the device's UDID to the developer portal, it will be automatically be added to ALL provisioning profiles. You can confirm this by downloading the profile and inspecting it (in plain text editor).
Go to: https://developer.apple.com/account/ios/profile/edit
Click All
Pick profile
Click edit
Select missing device
Click generate
Go to Xcode -> Preferences -> Accounts
Select your account and click View Details
Click Download All
Connect the phone to your mac and open XCode. Then click under Window->Organizer under Devices you must see your connected phone. There is an Button named "use for Development". Click this and after a few seconds the UDID must be in your team profile and you can install the app.
IMO you cant add devices to your team-provisioning-profile without connected to your mac, if this profile is managed by xcode. Alternative make an ad-hoc-provisioning-profile.
Hope that helps?

Resources