Is it possible to create an ipa file for the App Store with developer account? - ios

I am working on a tvOS app. I need to create an ipa file. The client has provided a distribution certificate and a provisional profile for the app. But, the client has not provided any Apple Developer account details. Is it possible to create a valid ipa file for App Store?

You will not be able to be able to create a valid ipa without being part of their team on the Members Centre.
However, it should be relatively straightforward for them to re-sign the IPA, instructions can be found here:
How to Re-Sign an iOS App from an External Developer
This means you can just sign the ipa with your regular developers profile.
It may be worth noting that they can add you to their team on the Developer Centre without adding you to their team on iTunes connect as they are two separate services. This means you can provide them with a valid, signed build which they could then upload to iTunes Connect themselves.

Related

In an Enterprise iOS app, how to replace the *.mobileprovision file on device after existing profile expired, but without re-signing the IPA?

We have a series of iOS Enterprise applications that were built with Telerik Cordova (discontinued in May 2018). Those apps are in the process of being converted to a new platform, but in the mean time they must continue to service client needs.
The distribution certificate the apps were built with is valid for another 14 months or so, but the provisioning profiles expire in a few days. Since these are Enterprise apps they will expire with the profiles.
Unfortunately, Telerik can no longer rebuild the apps using an updated profile for us. We have re-signed the apps using new provisioning profiles (using both iReSign and Terminal). When we try to side-load the resulting IPAs through the XCode Devices panel, we get an error stating that the entitlements do not match and the apps are not installed.
The question was raised as to whether or not we not need to re-sign the apps since the certificates are still valid. Perhaps it would be possible to just replace the .mobileprovision file on the device somehow? I gave it a try using iTunes Sync but I cannot confirm whether the file actually went to the device or not.
Question: Is it possible to just update the *.mobileprovision on the device without re-signing the app? If so, could someone please give me the steps or direct me to a link to perform the steps?
Alternate Question: Otherwise, any thoughts on how to resolve my Entitlements issue? The app only needs Push Notifications, but Game Center and In-App Purchases are also enabled. These are reflected in the App ID and provisioning profile, and the distribution certificate is of type Apple Push Services.
I should point out that I am not an admin on the Apple Developer portal for the project as I am an outside consultant, so my portal access is strictly read-only.
Thanks in advance for any direction provided!
If the applications were distributed to the devices by an MDM, then you can push a new provisioning profile to them using the MDM.
If the applications were installed over the air from a web server or directly using iTunes or Apple Configurator, then you need to replace the entire application package on the device. This requires the app to be re-signed, since the changed .mobileprovision file will change the package signature.
If you don't have the original, app ID with matching entitlements in the developer portal, then you will need to delete the existing application from the device before installing the new, re-signed application. You won't be able to do an in-place upgrade.

Can a client release an .ipa binary that was created with my developer portal certificates?

I am for the first time, creating an app for a client (rather than for a company I have full access to). I use the phonegap method which includes generating the app's provisioning profile and certificates in the developer portal, using phonegap to package it all as a releasable .ipa file.
Are there any limitations on me generating the .ipa file in phonegap, sending it to them, and them releasing the binary through their itunes connect? Or - will it get caught up when they upload because they didn't generate the certificates?
They are almost definitely going to need to sign the file with your production certificate. You can export it from Xcode if you use it and have them add it to their keychain.

How to submit app made by third party to iTunes Connect without giving away the distribution certificate?

I'm developing apps for other companies. My customers want their app in App Store to show as published by their own company, not mine. Also, they don't want to give me their private key for signing apps for App Store distribution. I don't want the key myself, because I don't want any legal responsibility related to the key being lost or stolen.
They can add me as a developer on their company's team inside the Apple Developer portal, and this gives me access to publish new builds for testing. In this situation, I must sign my app with their distribution certificate, or my builds would be rejected when uploading them. Is that correct?
A possibility is that I send them the app as an IPA-file, using their app's bundle id, and sign it with my own certificate. They would then resign the app with their distribution certificate and submit it to iTunes Connect using Application Loader or similar. What is the easiest way for them to do the re-signing? Will they have to use Xcode to upload the IPA, or manually run codesign on the command line?
I'm looking to make this as easy as possible. The people receiving the builds (IPA-files) are not developers.
Try this one, you can sign IPA package by your certificate and send it to them, then ask them to re-sign it using their own certificate.
How to Re-Sign an iOS App from an External Developer
In this scenario, the customer will have to resign the IPA file they recieve from the developer and upload it to iTunes Connect themselves using Apple AppLoader or Xcode. To resign it, they will need the codesign binary provided by the Xcode command line tools (full Xcode not required, but will also work). Optionally, they can use Xcode to upload and re-sign an xcarchive.
There are some apps that give a UI to codesign, like iResign and AirSyncApp, that are more user-friendly than the command line.
Thanks to #alanc-liu for contributing information.

Export .ipa in XCode 7.2 with external .p12 and .mobileprivision

Basically, I want to do exactly what is already stated in this question – just in XCode 7.2.
The setup: I am developing an iOS app (using Ionic) for a client and they want to publish it to app store in their name under their account. They however don't want to give me their account login and details. I have received a distribution certificate and a provisioning profile in stead.
I have installed the .p12 distribution certificate and have received a .mobileprovision profile for App Store Distribution using this certificate. I am however completely unable to select this provisioning profile anywhere.
My only choice in the export of the archive happens when XCode asks me which developer account I want to archive with. And here I can only choose my own account (of course). That's obviously not what I want though.
"Once" (in XCode 5, according the linked question) I should have been able to select the external provisioning profile under "Code Signing", but this doesn't seem to exist anymore.
Can this be done without getting their account details? I know that I don't need to know their password, they can just export it to me. Right?
I don't think you can do exactly what you are saying without code signing it with their account (which you don't have access to). I see two possible solutions for you to achieve your goal:
Send them the Xcode project and explain to them how to sign in to Xcode, archive the app and send it up to the store
Upload the app to your personal store account and then transfer it to their account. See this link for details on how to do that: https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/TransferringAndDeletingApps.html

How can I deliver an iOS app IPA to a customer to be signed with their own Enterprise provisioning profile

We have developed an iOS app that has been delivered to the customer as an IPA with an ad-hoc distribution profile that allowed a set of their employees to install it on their devices. The customer now wishes to distribute that app internally to all their employees using their iOS Enterprise Developer program credentials.
I had hoped that the customer could simply re-codesign the ad-hoc IPA with their own enterprise identity. However, they say they can't do that. They say they "need an IPA file with the removal of the limitation to only certain devices".
So, what do I do?
Do I need to somehow create an "unsigned" IPA for them? (And if so, how do I do that?)
Do I need them to generate an Enterprise distribution provisioning profile for me so I can build the app with that profile?
Do I need to just send them the source or build output and let them build the package?
I have looked at the following documents, but they have not enlightened me:
TN2250: iOS code Signing Setup, Process, and Troubleshooting
Distributing Enterprise Apps for iOS Devices
It's completely possible to take any IPA and resign it with your own details, modifying the Info.plist, bundle ID, etc. in the process. I do this all the time with IPAs that have been signed by other developers using their own provisioning profiles and signing identities.
If they aren't familiar with the codesign command line tool and all the details of replacing embedded.mobileprovision files and entitlements, the easiest way for them to do this is for you to "Archive" the app via Xcode, and send them the generated archive file (*.xcarchive).
They can import that into Xcode so it is visible in the Organizer, and from there they can choose "Distribute" and sign it with their enterprise identity.
To import the .xcarchive file into Xcode, they just need to copy the file into the ~/Library/Developer/Xcode/Archives directory and it should appear in the Xcode organizer. Then they click "Distribute" and follow the instructions:

Resources