IPhone App Provisioning Account For Multiple Developers - iphone

Ive only previously been developing the Apps for our company by myself and Provision management has been quite simple. We have now added another developer to the project and i am having trouble setting up the provisioning for both of us to deploy and test to out iphone.
Does anybody know if there is a step by step or any tips on how to set up provisioning for a multi developer scenario project?
Thanks

Probably you are having trouble sending the iphone developer certificate, if you want to share it, you have to share the private key of the certificate. Not only the public part which can be downloaded from the member center. For that, you have to get into the KeyChain, look for the developer certificate, expand it and right click over the key, then export the key and send it to the new developer.
Hope this helps

We use a team provisioning profile that was created and managed by xcode. If we get a new developer they just login to the dev portal in organiser and then they can deploy. Unfortunately I can't remember how I did it because it was like two small things and it just worked.

You will need to:
Export your Developer Cert from your
KeyChain and send it to your second
developer
Export your Distribution Cert from
your key chain and send it (if you want him to be able to submit to the app store or send out ad-hoc builds to beta testers)
Go to your Provisioning Portal and
add his device to your portal
Then go hit edit on all your
provisioning profiles, adding his
device to each of them
You will both need to download the
new versions of your provisioning
profiles
(Adding his device to the portal & downloading new profiles can be done through the xcode organiser, its usually faster that way)

Related

Release an ios application?

I've an iOS project developed by someone else, now I have to update it and build a release for client so that they test it.
I've updated it and while archive it in release mode, get error-
The identity 'iPhone Developer: XYZ' doesn't match any valid, non-expired certificate/private key pair in the default keychain
I am new to iOS. I have some idea that I have to change developer id or something similar in certificate. But do not know how. Can anyone help me to fix this issue?
Thanks.
You need to have Apple development certificate and .p12 file of that account of which that provisioning profile exists.
If you don't have, you need to create it from keychain, by requesting a certificate from authorised authority->generate csr and submit in you developer account.
hope it helps you........
You need to do an "Ad Hoc" distribution.
Build your App for "Release".
Go to the "Organizer" and select the Archive.
Select your build in the Archive.
Use the "Distribute" button and select the middle radio button. "Save for Enterprise or Ad Hoc Distribution".
That will produce a .ipa and ask you where you want to save it. You can put that on your desktop and distribute it.
In order to build an Ad Hoc Build, you have to get yourself an "Ad Hoc Distribution" certificate. You do that in the Apple iPhone Developer site in the provisioning portal area, located here:
iOS Provisioning Portal
You will also need to authorize the devices you want run test versions on in the same way you authorized your own devices for development.
If you have to run the App on many test devices and the testers are not technical. I suggest you take a look at a pretty good service online called "TestFlightApp".
You don't have a valid keychain item for the developer certificate, is what the error is telling you. It's a case of creating one and installing it.
But for delivering a test build - you need to create an adhoc distribution, using a distribution certificate that has the test device's udid included.
In either case - and for further troubleshooting - Apple have a handy Technical Note for dealing with these kinds of issues and how to solve them.
If you go to your project in Build Settings -> Code Signing -> Code Signing Identity, you can change the signing certificate to your own.

Update app on appstore with another Mac, without transferring identity possible?

I have a question about updating an app on appstore:
I have to update an app that was published by another developer. I have been given id/mdp to the developer portal, so I can download certificates and provisioning profile for distribution.
However, I know that to use these signing, I must use the identity used by the previous developer :
according to apple:
Transferring Your Identities
Once you have a healthy working code signing configuration set up it is recommended that you follow the steps in section Transfer Your Developer Profile to Another Computer of the Xcode 4 User Guide to create a backup of them. The backup can be used to restore your working code signing configuration from hardware failure, or to enable code signing on additional Macs, partitions, or OS X user accounts of your choice.
I can't contact the previous developer...
So here is my question :) If I generate new certificates, and publish the update:
First, is it possible? ^^
Second, if it is possible, will it appear like a normal update (a notification in the appstore update tab, and just a clic to update?) - my fear is that it is impossible because of different signing and the user have to reinstall the app
I really thank you if anyone have the answer.
Nice day,
Jer
If you are the administrator or the team leader of the same iOS Developer account under which the app was previously submitted, then you can revoke and re-generate all the certificates and provisioning profiles necessary to submit an update to that app.

iPhone Certificate Fog

This question is, in some ways, a follow up on my earlier question regarding Push Notifications. After much time wasted I have more or less concluded that the issues I am running into, particularly with Titanium, are down to my not configuring my Keychain in the right order. I am now contemplating redoing it all from scratch but thought it best to first post a question here to establish the right way. Here is what I am planning to do
Log in to my Apple iOS provisioning portal account, download and install the Apple WWDRCA cert
Open up KeyChain and create a new certificate signing request. I call it myname.certS... .
Go to the provisioning portal account and use the CSR created above to secure my development and production certificates.
Download and install those certs on my machine by double clicking on them
Back in the provisioning portal create my first appID - call it, com.example.push
Back in KeyChain create a new csr - push.certSig... .
Back in the provisioning portal choose the new appID and configure it for Push using the new csr
Still in the provisioning portal select Devices and add the UUIDs for the devices on which I want to test my app
Still in the provisioning portal select Provisioning and create a new development and production provisioning profile for the app. The latter has AdHoc selected. Use the certificates created earlier. At this stage assign only one device in each profile.
Submit the profile, wait then edit it and add the remaining devices - I am doing this because I have read that there is bug somewhere that stops the provisioning profile from using the Push configuration for the appID in question the first time round
Download and install the two provisioning profiles
Well as I write I have followed all of these steps. I then wrote and compiled a simple Titanium mobile project and tried the Install To Device option with the AdHoc profile created above. Everything went swimmingly well and I got my IPA. I took the IPA and fed it to TestFlightApp which reported Invalid Profile: developer build entitlements must have get-task-allow set to true. So I tried again with the Development profile. This time round TestFlightApp accepted the IPA. In installed it on my iPad but still find that registerForPushNotifications is going away into the ether with nothing being reported - no success, no erors... just a defeaning silence.
I have to admit that I am at my wits end here. I am clearly doing something wrong but I haven't got the foggiest idea what it could be. If I had a million dollars I would give em away to anyone who could set me on the right track. Well I don't so I hope someone just puts me on the right track out of sheer goodness
tried the Install To Device option with the AdHoc profile created above. Everything went swimmingly well and I got my IPA
That doesn't sound right. You aren't installing to a device, you're generating a distributable build. I'm not familiar with Titanium's build process, but in Xcode 4, you select Archive to generate the IPA, and Xcode generates the appropriate entitlements at that point. If you're using an option intended to install directly onto a device, it won't generate those entitlements.
So I tried again with the Development profile.
This doesn't sound right either. You should be using the distribution profile.

Correct method for an app store submission

I am just about ready to submit my app to the store and would like to know any tips or best practices from fellow iphone developers who have submitted to the store before.
What needs to be done before submission?
How is the binary created or packaged?( what things should be kept in mind)
What is the idea behind scheduling a release date? (can it not just be released after it has been accepted)
What else needs to be done in order to submit?
Any bad experiences which developers could take note of?
First, have you gone through Apples docs on submission: http://developer.apple.com/iphone/appstore/submission.html
In general, the process is to log into itunesconnect.apple.com using your iPhone developer account, click "manage applications", then "Add new application" and fill in the forms.
You need to build a distribution version of your app codesigned with an iPhone Distribution cert. The Distribution cert can be obtained from the iPhone Developer Portal (http://developer.apple.com/iphone click "iPhone Provisioning Portal" on the right.) When you have a distribution build, you just need to zip up the app. Open the MyAppProject/build/Release-iphoneos directory in Finder, right-click on myApp.app and select "Compress 'myApp.app'" from the context menu. For very large apps, you will need the Application Loader available from the App Management section of iTunesConnect to upload the binary.
In general, it takes at least a week for an app to be processed by Apple. Typically, as soon as Apple accepts the app, it's available for sale. That said, if you don't tell anyone about the app, no one will find it.
For me, the hardest parts of the app submission process are writing the blurb and coming up with the list of keywords.
How is the binary created or packaged?
Goto
build/distribution-iphoneos/ inside that you have .app file compress it and that compressed file is to be uploaded.
upload should be done through APPLICATION LOADER.
These are the following steps needed to build an iPhone app under an Apple Distribution License and upload it to the App Store.
Create A CSR from Keychain Access in a Mac machine.
Access Keychain Access as Finder>>Applications>>Utilities>>Keychain Access.
Upload this CSR while creating a Distribution Certificate.
An Apple License can have only one Apple Distribution Certificate.
Download Distribution Certificate.
Open Keychain Access.
Access Keychain Access as Finder>>Applications>>Utilities>>Keychain Access.
Install the downloaded Distribution Certificate.
Right Click on the Distribution Certificate and select "Export Certificate" and save as Personal Interchange Certificate (.p12) format in destination Library>>Keychains.
For every new application we need to create new Provisioning Profiles under one Apple Distribution Certificate.
For each new Provisioning Profile, we need to create a new App Id.
So we need to create a Adhoc and Appstore Provisioning Profile.
Adhoc Provisioning Profile is for testing the app in apple devices.
*Appstore* Provisioining Profile is for uploading the app to appstore.
Download the respective Provisioning Profile and double click on the profile to install it.
Delete all the previous profiles and just retain the newly installed profile.
Build the application by selecting the Code Signing Entity as the newly installed Provisioning Profile.
6 Upload the ApplicationName.app.zip file as the binary file in Application loader while uploading the application to appstore.
Reference: https://developer.apple.com
I believe this would be of some help to you.

Do I need to make an Ad Hoc Provisioning Profile to debug my app on my iPhone?

I think I'm just cloudy on how debugging works on a real device - is that how to go about it? I've been reading through Apple's docs on creating provisioning profiles for distribution, but I'm not finding any information for simply debugging my app, which is running on my device, through Xcode. Can someone point me in the right direction?
Edit (2/19/09):
I'm getting conflicting answers on whether or not I need to create an ad-hoc provisioning profile to debug my app. If I don't need to create an ad-hoc provisioning profile, what else do I have to do to debug my app, other than having my development provisioning profile and certificate for myself?
Edit (2/20/09):
This link, iPhone Development Guide: Preparing Devices for Development, seems to say that you do need a development provisioning profile for debugging on a device. In my last edit, I mentioned that I was getting conflicting answers on whether or not I need to create an ad-hoc provisioning profile. The answers are not conflicting, I just didn't understand the difference between an ad-hoc provisioning profile and a development provisioning profile.
Any time you're writing software to be installed on an iPhone, you need two things: a key and a provisioning profile. The key identifies the person who developed the application; it stays on your computer and is used to sign the apps you build. The profile identifies which devices are allowed to run applications signed by a given key; it needs to be installed onto the device.
Distribution keys are basically one per company, and are only meant to be used when you are building a version of an app that's intended to be distributed outside your development team. (App Store builds must be signed with a distribution key.) Development keys are intended to be one per developer, but are only meant to be used when actively developing an app.
(If you are an individual developer, of course, you have only one developer key and one distribution key. On my machine, I've set up Keychain to require a password for the distribution key, so even if somebody steals my laptop they can't release an update to one of my apps that compromises user security. The developer key, which can only install software onto my personal phone, is not passworded.)
When you're testing on your own personal device and installing through Xcode, you need a development provisioning profile and a development key. This development profile should be installed into Xcode, which will then install it onto your phone.
When you're distributing to a small number of others (for example, for beta testing, or if you wrote an app that's specialized for a specific customer), you need an ad-hoc profile and a distribution key. You'll need to send the ad-hoc profile to the user along with the app. The user can then drop both the profile and app into iTunes and sync their phone to install.
When you're distributing through the App Store, you need an App Store profile and a distribution key. Builds made in this way cannot be run on any device you control, but Apple's submission tools require them to be built using this profile.
So to answer your question: You need to provision your device, but it has to be a development provisioning profile, not an ad-hoc profile.
No, you don't need an Ad Hoc provisioning profile to debug an app, you only need a development provisioning profile and certificate for yourself on your device.
You need to provision the device, yes. IIRC you need to use Apple's online tool, and then provision it using Xcode, after which you will be able to debug it on the device.
See the first post on this blog for more.