How to update provisioning profile that has expired (in testflight) - ios

We have an ios app managed through testflight which has an expired provisioning profile. We have generated a new profile in the apple developer portal, downloaded it, and uploaded to testflight, under the specific build (using permissions, add/update profile.) The uploaded profile is saved, and appears in a green notification in testflight. However, when trying to open the app from a device, a message is shown stating that the provisioning profile for this build has expired.
Is it necessary to re-compile the app and upload a new build to testflight? Or is it possible to somehow have the app utilize the new provisioning profile without a new build?

It is possible to do this without recompiling. Not directly through Testflight though.
All you need is the old build (.ipa) and check this answer: https://stackoverflow.com/a/10905855/3619504 . It shows everything you may need. When you download the scripts sources, there's an example in Readme.md file on how to use ipa_sign script.
After resigning you will be able to reupload the newly signed build to Testflight.

Yes it's necessary to recompile unfortunatelly.

Related

Testflight - Build is there but not showing?

So I just got an email telling me that my build has completed processing.
I go to iTunes connect and sure enough there it is. I go to add testers, and it asks me to input some contact info before it adds the testers.
Somewhere here the whole thing just stops working, so I reload the page and this is all I can see now:
My Build is there, it is the correct version, but I cant see it, or do anything with it, really weird. What is this?
To create .ipa file i'm using Ad Hoc option. But for testing apple send an email like this ....
Missing beta entitlement - Your app does not include the beta-reports-active entitlement. If you intend to distribute this build via TestFlight for beta testing, please re-build this app with an App Store Distribution provisioning profile. Do not use ad-hoc profiles.
After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.
Regards,
The App Store team
Now i selected App Store option to create .ipa file. Now i uploaded the .ipa through application builder. Then only i'm getting my build in TestFlight. I think this will help you...

Testflight doesn't show "Update Profile" Option anymore

I often had to change the provisioning profiles for my ios builds due to new testers/udids.
I had no problems following this guide Adding more testers to a build?
I updated my profile in the devcenter and made the upload, everything works perfect. But from today on I miss this option completely, the Update Profile Button and the complete row is just gone.
I googled changes regarding testflight but couldn't find anything.
Someone has a clue?
iOS 8 doesn't support installing provisioning profiles individually any longer. So this doesn't work on iOS 8 devices any more and you have to create a new build using the updated profile to add new devices.
I emailed TestFlight about that this morning and this was their response. Looks like it's for iOS8 as others have pointed out :
"Due to the changes in iOS 8, it's no longer possible for testers to install provisioning profiles from the iOS Settings app. App developers will now need to rebuild their Ad Hoc beta apps to update the embedded provisioning profile in the app's IPA file. If you need any help with this process, please let us know.
You can also find more information about updating provisioning profiles from the link below:
http://help.testflightapp.com/customer/portal/articles/829818"
I was able to change a particular build's embedded provisioning profile manually. Here's how I did it.
Download the build's IPA file from the testflightapp website. You can download it by accessing the build's share address in your browser. That's the https://www.testflightapp.com/install/BUILD_ID link that's shown on the Build Permission page.
Change the ipa file's extension to zip and unzip the archive.
Right-click and Show Package Contents on the single file inside the Payload folder.
Replace the embedded.mobileprovision file with your updated provisioning profile.
Recreate the zip archive and change its extension to ipa.
Upload that ipa file to test flight.
The option has dissappeared for me as well. I was also using the option frequently.
However, I did notice problems and the feature was no longer working once the iOS 8 GM was released on iOS 8 devices.
Even though I updated the profile, the build failed to install every time. (And now that you asked I noticed it's gone).
I also browsed through all the settings/permissions/etc, but it seems they removed the feature.
Since Apple acquired TestFlight, they changed the whole process for iOS 8:
No more provisionning profiles, only Apple ID's email.
1,000 beta testers and 25 internal testers per application.
https://itunesconnect.apple.com/ is the new testflightapp.com/dashboard/
I have successfully replaced my old process following this one: http://code.tutsplus.com/tutorials/ios-8-beta-testing-with-testflight--cms-22224

Adding a new provisioning profile to an existing TestFlight build

So I've been using TestFlight with an app that's in development. And up until now, the Beta users haven't been changing that quickly, so it's been pretty easy to just add a new device to the provisioning file and post a new build whenever needed. But, we've recently started to quickly expand the pool of Beta users and posting a new build to TestFlight every time we want to add a new user doesn't seem like the ideal solution any longer. So I know they have the feature which lets you upload a new profile with a new device(s) in the new profile, which I'm trying to use. So at that point I then have the new user attempt to install the app and the TestFlight WebClip asks the user to install the new profile (since it's no longer embedded in the app like with the initial build/provisioning file). The user successfully installs the new profile but when going back to the TestFlight app/webclip, just repeatedly gets asked to install the profile again without being able to actually install the app.
OK, a complete walk through of the details:
I build an app with the testUsers1.mobileprovision file and upload it
to TestFlight.
At some point later I add UserX to a new mobile provisioning file,
testUsers2.mobileprovision.
Under the permissions section of the old build, I use "Update
profile" to load testUsers2 up to TestFlight.
UserX then starts up the TestFlight webclip/app on their device.
Rather than installing/downloading the app, TestFlight asks them to
install the new testUsers2 provisioning file and the user does
install the file.
UserX then restarts TestFlight on the device and it again asks them
to install the new profile instead of actually installing/downloading
the app.
I've written to TestFlight asking for any ideas of what could be going wrong with this, but haven't received an answer yet. Anyone see what I'm doing wrong here? Or am I hitting a bug of some sort in the TestFlight Webclip on the device?
Update:
I've traded a couple of emails with TestFlight and they've replied with "While we troubleshoot this issue, the best thing we can recommend is to re-upload the same build with the new provisioning profile associated with it. It will not create a new version, but will update the most current version in TestFlight."
So, hopefully they'll have an answer shortly.
Thanks,
Will
This is not possible anymore since the launch of iOS 8, check their support page Adding more testers to a build?:
Due to the changes in iOS 8, it's no longer possible for testers to install provisioning profiles from the iOS Settings app. App developers will now need to rebuild their Ad Hoc beta apps to update the embedded provisioning profile in the app's IPA file.
You will need to add a new build with the updated provisioning profile.
You don't need to create a new build each time the provisioning profile changes - all you have to do is download the updated provisioning profile from the the Provising Portal, then go to the selected build's page on TestFlight, click "Permissions", then click "Update Profile" and select the new provisioning profile file.
The problem you described is probably not related to the build's provisioning profie, but the WebClip itself - try deleting it in Settings -> General -> Profiles -> TestFlight WebClip, and install it again.

Building an iOS app for a client with his own developer account for App Store submission

I made an app with xCode 4.3 for a client with his own developer account.
Now i need to send him my compiled/binary app (no source code) so he can submit it under his account.
I dont know his bundle ID and neither i have his developer certificate.
Edit: And he will not supply me his developer certificate.
Can it be done?
I searched how this can be done but didn't find an answer.
Build the IPA as normal, then send it to him along with a copy of the Info.plist. He must then:
Edit the Info.plist file to include his bundle ID.
Unzip the IPA.
Replace the Info.plist file.
Re-sign the application using codesign.
Re-zip the IPA.
Submit it to iTunes Connect manually.
The way I have done this before was to log in as the client, and submit from your machine. But I guess this depends on the trust level between you
You need to have his distribution certificate (with private and public keys) and distribution profile. When you have those, you can create a compiled app for submission to Apple.
Basically, he needs to create the App ID, certificate, and profile and give them to you. If he cannot do this, you need to sign in to his account for him.
Once he has the compiled app, he can easily submit it using Xcode or Application Loader.
Build and archive the iOS app with your own certificates, then send the customer the resulting app archive (zipping up the app's archive directory, if needed). Look here for Xcode's archive files: ~/Library/Developer/Xcode/Archives/
In the archive, they can find and edit the app's Info.plist file.
Then the customer can submit the app archive from Xcode's Organizer and using their own developer account. Xcode should ask them to re-codesign the app with their own Distribution certificates as part of its upload process.

How to add provisioning profile to IPA file

I downloaded an IPA off the web and I want to upload it to Diawi or TestFlight for demo testing, but I keep getting errors like No provisioning profile found in the application bundle or Invalid IPA: missing embedded provisioning profile. Are you sure this is an ad hoc?
How can I edit the IPA so I can successfully upload them to the demo sites?
PS: I don't have XCode.
You can't.
When the .ipa was built, it had to have been built with a provisioning profile in order to be distributed. In addition, your test device's UDID has to be on the list of valid devices for that provisioning profile. Once the .ipa has been created, you can't go back and edit it. If you want to be able to run it on your device, you need to create a new one--or have the original person who created the .ipa make a new one, since you don't have XCode.
You can not sign .IPA file with any other way, you need to prepare new build signed with updated provisioning profile, where devices ID's are included in it.
Make sure that while creating an .ipa file you must need to select Generic iOS Device as a

Resources