Recompiling iOS app to publish on Apple store - ios

I have published iOS app on Apple Store.
It was compiled on developer's MAC computer.
Now I need to figure out how to recompile on different MAC computer to publish on Apple store.
Can I use existing certificate
or
do I have to create new certificate?
I just want to publish newer version of my application.
What do I need from developer?
By the way, I have full access to Apple Developer's account.
Thanks,
Ashok

You would require private key, certificate, and provisioning profile along with access to apple developer account for publishing your app.
Since you already have access to the developer account, so provisioning profile and certificate is no issue.
So in fact you just have to private key from the developer.
FYI: private key and digital certificate[contains public key] are together known as signing identity.

In order to upload the app on app store you will need
Production Certificate with private key installed on your MAC.
Distribution Provisioning Profile (enabled for App Store ).
Make sure your provisioning profile use the same "App Id" that was used during the last version uploading process.
You can check the "app Id" or "bundle Id" on the app detail page of your iTunes account . ( You must have all these configured in your existing account)
Now, if you don't get the private key from your last developer. You can simply log in to iTunes account and can revoke the Production certificate.
You can find several tutorials on web for "Revoking Certificate"
After revoking you can download and install the certificate on your MAC and can also distribute it to other developers in your team. Now, download or create the distribution profile enabled for App Store and install it on your MAC (If it got expired then renew it)
Also, Please refer some tutorial for app uploading process. You will get a better idea on all this.

Related

certificate, provisioning profile etc for my new iOS app

I have created an iOS app. The app is already in the store. Now, I am creating a new iOS app. I am wondering, what should I change in regard to development certificate, distribution certificate, provisioning profile.
I am reading this document. It says the following:
You use the same development and distribution certificates for iOS,
tvOS, and watchOS apps.
OK, does it mean for the new app, I can use the same development & distribution certificate as the old app is using? If so, what about provisioning profile? Could someone please clarify all these to me for the new app?
====== Other related questions =====
What if the app is developed by other developers, we are in the same team, now I create a new app. Do I need to create new certificate, provisioning profile, etc?
If developer A developed an app & distributed to Apple store, then he left the company. Developer B needs to fix the same app and upload to Apple store again. What does developer B needs from developer A? The private key, right? Other things certificate, provisioning profile from developer B can be used by developer A directly right?
#Shubham Ojha, thanks for your comment below. But I still want to ask the following scenario: We are several developers in the same company, we have a company Apple developer account. One developer has created the development/distribution certificate, provisioning profile, etc for the first app, then, he left company.
Now questions are :
For the same app, I need to fix some bugs and release to Apple store again, what do I need to do with those certificate? I think the private key is on that developer's laptop right? Do I have to have that private key in order to release the app?
For a new app, what do I need to with those certificates?
You can use the same development and distribution certificates for a new app, since the certificates are bound to a developer or any development/distribution team respectively.
Only you need to create a new App Id from the developer portal(member center) and you can select the same developer and distribution certificates while creation of the provisioning profiles.
Yes you need to export the certificates from the MAC on which it was created first and the private key is also required for its installation on any other MAC. But if the employee hasn't submitted that, then you need to create a different signing identity using your Xcode->preferences->accounts->View Details(of Apple ID associated with developer account). Here you can create the signing identities and export them.
At below link you will get all your answers with proper step by step documentation, if you still have any doubts feel free to ask.
https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
For a new app also you need the same certificates since certificates are for team/developer and not for a particular app.

Is it possible to install provison profile through shared access?

Another developer shared his app with my dev account. But in that case I do not get access to the provision profiles. But my Xcode does not want to run that app on my iPhone. Asks me provision profile.
He also sent me the provision profile(downloaded it and sent me file) but I cannot still install it.
How I can solve the problem without username/password credentials of the creator?
Yes, but you will need to have the developer send you the signing identity for the provisioning profile. This will consist of the iOS Developer Certificate (.cer) and the private key for the certificate (usually a .p12). With those things, you should be able to build and sign the app without the developer having to give you their Apple developer credentials.

Updating a transfered iOS app

Last week we've transferred a published app in iTunes Connect to another company's account. Now they want us to provide an update to the app.
How do we sign, package and submit the app to them for publishing? Which Provisioning profile do we need to use? Do we still sign the .ipa with our team and send the .ipa to them or do we need to have additional info for this to work?
I hope someone is able to shed some light on this process, since the whole provisioning and signing process is hard to grasp for me.
Recently we have transferred our app to another company and we have pushed an update to the app. Let me explain you how we did
Once you transfer the app to another company account, you will not
be able to use your old certificates for publishing any new update
for app.
Apple by default removes your certificates and appid from your
previous account.
Apple generates an app id for your app in transferred account.
You can use this app id and create new certificate for your app and
publish the app by using new account.
You have to get the certificate and the private keys used to signe the application.
You import the private keys on your computer and install the certificate.
Then get the corresponding profile, compile, sign and post.
The other solution is to regenerate a new certificat with the keys on your computer, a new provisionning profile.
Then sign the app with those new files.
The certificate and profile need to be created from the new account.

iOS Dev: Certificates and hiring a freelancer

I have hired a freelancer to build an app for me. I have an individual dev account to which I have added him as a technical user. He has requested either that I send him distribution and development certs plus a provisioning profile OR to make him an admin role in iTunes Connect.
Should I create certificates with my name/email and send them to him? Or with his name/email? Or should I just make him an admin? What is the best/safest course of action? This is just for testing purposes and I will be receiving the source code upon project completion.
Totally new to iOS dev and have been scrounging around the web for a definitive answer. Sorry if this is rudimentary!
Thanks!
You don't need to add him as a Admin at all. If he has a free developer account you can sent him a request to add to your developer account team and can create a development and distribution profile from which developer can download. For certificate request developer need to send the request from him Mac and can download it from developer.apple.com.
For other option i am not sure if it will work because from latest XCode environment developer account needs to be added in Xcode but give it a try.
Other option if you don't at all want to give access to your developer account will be. Create and download the developer and distribution profile and share it with Freelancer.
For Certificate you would be requiring a Mac. Below is a process of creating a certificate:
http://www.aquafadas.com/en/documentation/sample-page/developer-apple-com-2/generating-your-development-certificate/
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
Now goto your KeyChain access and can see your certificate there:
Right Click your certificate and export "iPhone Developer..." or "iPhone Distribution.." . Save it to your desktop. It will be a .p12 file and will ask for password while saving.
Share this .p12 file with the freelancer along with password. Share both Developer and Distribution certificate.
So now your freelancer has both Developer and Distribution certificate and provisional profile.
Since he is not the one that will be submitting the app to AppStore, then he should not be an admin. So the admin account is with your credentials.
Usually, if he is an iOS freelancer, most likely he already has an Apple account. So after he creates a certificate signing request, you should generate a development certificate for him, in order to test on real devices - that is, you must add his user to your created team.
However, the certificates-accounts process is not so easy, so I'd recommend you to also read: http://escoz.com/blog/demystifying-ios-certificates-and-provisioning-files/ .

How about Apple’s enterprise distribution iOS apps

I have a iOS app use the account A.
My client gave me an enterprise account B for In-House distribution.
I'm not allowed to revoke their existing certificates and they do not provide .p12 and .developerprofile.
I called the apple center and they told me NO .P12 key can also publish procedures but did not told me how to do.
My E-mail have joined the team,
I create a new app id and a provisioning profiles but the provisioning profiles is error in my Xcode.
error message:The private key for "XXX" is not installed on this Mac.
My question:
I just want to release .ipa for in-house type how to do?
thx!
You will need to p12 (private key) form the client or revoke the current profile. There is not other option. Do not revoke any provisioning profiles for current apps since they may used.
Also explain to the client what you are doing and the consequences that it may have, if they are not able to provide you with the necessary certificates.
You generate a Certificate Sign Request (CSR) from your Keychain, login to your developer account and choose your client's team.
You then create an enterprise certificate which will have to be approved by your client's team manager. Once that is done you will be able to download it and install it on your keychain.
After that generate a provisioning profile for the app you want to distribute, download and install it on Xcode.
Build your app with this certificate and save the IPA for enterprise distribution.

Resources