Testflight Workflow - ios

I am trying to understand the testflight App distribution workflow
1.
When a new tester wants to join my testing team - I ask them to create an account on test flight.
2.
Next they need to give me their device UUID so that I can add that UUID to the Distribution profile.
Question - What is the best way to get the UUID from the tester. I do not want them to email it to me or give me the UUID over the phone. Since they have the testflight account and the iPhone - Can they upload their device UUID from the iPhone to the testflight account so that I can see that tester JohnDoe has UUID xyz - If so how? What do they(The tester) need to run on the iPhone so that their UUID shows up when I (The App Developer) log into TestFlight.
3.
When I (The App Developer) have the newly Added UUID - I need to update the Distribution Provisioning Profile on my Apple Provisioning Portal with the new UUID - Save the updated Profile and then upload it back to Testflight.
Question - Can this (adding the new UUID to a profile) be done via Testflight itself? - i.e. can Testflight update my Profile with a new UUID or can this only be done via the Apple provisioning portal and then be brought back into Testflight
There are similar questions but none answer exactly the two questions I am looking for.

Best way to get UUID - is copy it from testers TestFlight profile when he will register device for testing.
You can update provisioning profile only at Developer Apple portal. But you can update provisioning profile for existing build by pressing Update Profile on build page.

1) You can always export device ID-s from your TestFlight users - exported file is
ready to be directly imported in your Apple Developer Portal.
And you always get an automatic email when new user (or new device) is added to you
TestFlight account.
As for what is the best way: who knows, it's really a matter of choice.
2) No. TestFlight can't create a new provisioning profile with devices added.
You have to create it by yourself (Apple Developer Portal):
add new devices to your developer account
add this devices to provisioning profile
regenerate and download provisioning profile
update provisioning profile for TestFlight build (https://stackoverflow.com/a/14265876/653513)

It's really much simpler:
Create team
Invite people by email
When they signup, they automatically email you their device UDID
Here's what TestFlight FAQ says about it: How does it work?
Step 4 is to manually add device id's into Apple site, generate new provision files, download and install, rebuild (hopefully using jenkins or something similar) and upload a new build to TestFlight (did I mention jenkins :))

1>Go to Project,Archive app.
2>In archive,click on distribute.
3>Click on save for enterprise or ad hoc deployment and save ipa file to your desktop
4>open https://testflightapp.com/dashboard/ and login
5>After login,click on upload your build button
6>Next click on drop your ipa file.Select .ipa file from desktop and upload it.
7>Selct provisioning profile by tick check mark and click update and notify button.
8>After clicking update and notify,Please click on share build button below update and notify.
9>Also you can see this share option by clicking permission on right hand menu.
10>After clicking share button,you need to provide your email id for showing testflight app in your mail inbox.
11>open test flight mail into your device and click on install button.
12>app automatically open testflight in your device,Please login with testflight,click on install profile button
13>After all click on app just you upload,click on install button. app will automatically install in your device.
Please tell me in case of any query regarding this.
Thanks

try TestFlight.top
Simple to invite testers
When a user requests to participate in your application test, you do not need to do any operation. Applicants only need to click on the download link in the page to directly download the test application. It is as simple as using the App Store

Related

How would I "Upload to App Store" to a client's iTunes connect?

I have created an app for a client, and instead of uploading to my iTunes connect account, I want to upload it to HIS (my client has a developer account, etc.). After I archive the project in Xcode and press the "Upload to App Store..." button, I am prompted the following message:
To submit to the iOS App Store, select a Development Team to use for provisioning:
And then naturally my own name is selected. When I press the "View Accounts..." button, I can see a "+" button to add an Apple ID. I am guessing I would add my client's Apple ID? And then his name will show under Development Teams and I select his name?
Someone please help me understand how to submit to someone else's iTunes connect account. Thank you.
There are two things to need to get:
Your client's private key (.p12 exported from keychain) for his distribution certification, you need it because App Store distribution cert can only have one per bundle identifier. Click here for instructions.
Your admin access to his developer program, this enables you the ability to upload archives, you will need sign in this account in XCode. Ask your client to send you an invitation. Click here for instructions. Do a Download All in Xcode preference after this step.
Then you can can submit again it should be all set.
For the developer program your client should invite you as an admin/developer using your main developer id(you don't need a new apple id for the dev. program i.e. you can switch teams).
You have to accept the invite
Login in the apple developer's website and switch to your client's team and create the certificates and provisioning profiles you need for the app.
Open X-Code preferences and download all the provisioning profiles you need.
In your app settings change to the distribution profile of your client(the one you just downloaded in the x-code preferences).
Create a new archive of your app in Xcode. Then follow step (7 and 8) or step (9 - added 29/09/2016)
When the organizer opens up after the archive is ready, highlight it and press export, then select - "Save for iOS App Store Development". When the export actions are ready save the .ipa file in location of your choice in your computer.
After all this is done, open up Application Loader, it is a tool which comes with x-code. Sign in with your apple Id and upload the .ipa file you created earlier.
---------------- Added 29/09/2016 ----------------
Another way to upload the app is from the organiser press Upload to App Store(blue button on the top right) while the archived build is highlighted. Select your client name from the dropdown in the dialog window press upload and wait until you see green tick
------------------------****-----------------------------
All previous steps assume that an entry for the app you are developing is created in your client's iTunes Connect and their apple developer account.
Finally log in to iTunes connect and do all the necessary processes to upload the app in the store.
Added/Edited on 29/09/2016: On iTunes Connect - in order to create entry for the app and upload it on their behalf, your client should invite you as an admin with your apple id and you have to accept it. Now you can be present on as many accounts as you are invited so very nice of Apple that they have updated this, saving a lot of time and mess. Change accounts from the dropdown in the top right corner when you log in.
I hope that helps.
You will need to have a developer account on the developer account you post to iTunes from. They will have to give you permission to access the account. I don't believe you can upload outside of Xcode anymore.
You've basically got it right. You need to add your client's information into your Xcode and then sign and provision the app as your client.
First, you tell Xcode that you want to add a new account:
Then, you sign in as your client's credentials:
At this point, you may need to download your client's signing certificates and provisioning profiles if Xcode doesn't do it automatically:
Then, just select the signing identity of your client and upload your app through either Xcode or Application Loader.

Add new device for an existing tester on Crashlytics

How can I add a new UDID in Crashlytics for an existing tester? The UDID is on the distribution profile but because it's not listed in Crashlytics the user cannot open the app
I didn't know this about using Fabric. I thought you just enter an email address and the tester can install your app but that ONLY works for enterprise Apple Dev Accounts. If you have a personal account, how you get your app on a new tester's device is:
1) Archive/distribute your app, add their email to the tester list in crashlytics. They get an email to register.
2) Then you (as the distributer) will receive an email that says they registered and it has their device UDID in it.
3) You need to then go to the app dev website and add this UDID to your device list.
4) Then you need to go to your Xcode preferences and refresh your dev account profile to make sure it's aware of the new device ids (Xcode/ Preferences/Accounts/ Download Manual Profiles).
5) Then you need to re-archive/re-distribute the app again.
On this second email, they can finally install the app.
You have to open the link in the invite emails on the new device. The original invite will say "Let Me In" and new build emails will say "Check It Out". Then it'll take you to the page where you can register your new device.
After the device is registered with Crashlytics you should be able to do open the app, seeing that your UDID is already in the provisioning profile.
I've also had a similar problem.
It took some time but I realized that Crashyltics wasn't using the provisioning profile I was expecting. I had to change my build settings for the Provisioning Profile to not use the Automatic setting but to use my Ad Hoc Profile.
Here is a through guide for this:
https://docs.fabric.io/ios/beta/introduction.html
Hemal from Crashlytics here. Once you added the UDID in the provisioning profile, did you redistribute the app again? Also, be sure to double check that the updated provisioning profile is the selected profile of choice in Xcode (and shows up in the top of the Mac app when you build). This way, the latest distribution will pick the most up to date permissions!
I had this issue and I ended up having to go into XCode > Preferences > Accounts > [my dev team], and I manually right clicked on each profile and hit "move to trash". I then emptied the trash, cleaned (cmd+shift+k), cleaned build folder (cmd+alt+shift+K), deleted DerivedData (google this one), restarted my OS, and finally downloaded all provisioning profiles using the "Download All" button in the same place in XCode after restarting and it worked :)
(not all of these steps might be necessary, but just to be safe...)
If you distribute your app internally with enterprise signing, adding a new device can be tricky, especially if it's a test device that you don't want to setup your email/password manager on. What I've done is open the original invite link from email on my laptop and it will say to open on your device to start testing. (I used an email from months ago, so they don't seem to expire.) From this page, you can AirDrop the link to your new testing device. In the past, I've manually typed the invite link and this is much, much easier.

iOS : Is there any way to test .ipa file in multiple device without jailbreak?

I created .ipa file using ad-hoc as the app is in testing phase. I want to send this .ipa file to my friend in other country to test the app, but due to company policies, he cannot jailbreak the device. How to make .ipa file which can be executed in any iOS device?
Generated .ipa file from Xcode 4.6
Get his device's UDID and add it to your list of devices in the profisioning portal. Then include the device in the certificate, download the updated certificate and 1) import it in xcode and re-build and 2) add it to the mail with the ipa file. He is supposed to copy the certificate into the apps folder in itunes and then cops the ipa there and sync the device.
If you happen to have more betatesters on distributed locations then you should look for services like testflightapp. https://testflightapp.com/ which provides convenient aid for you and the testers.
Why don't you just register your friend's device to the Member Center and add it to your Ad-Hoc distribution certificate? Then re-distribute it.
Here is all the information you need : https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html
Add all of the devices to your developer account and adhoc profile and then distribute. Or sign up for an enterprise account and then you can distribute the app internally to your company.
Consider to use TestFlight: http://testflightapp.com/dashboard/
You can upload your ipa and invite your friends to be testers.
it is possible and very easy.
So, you say you already have an ad-hoc provisioning profile. But actually only with one (your own) device ID. So here is, how to add more device IDs - no jailbreak necessary!
Ask your friend to connect his device to iTunes, and eMail his Device UID (DUID) to you (40 characters string)
Go to Apples Developer Member Center (iOS) web site, login with your account and head over to "Certificates, Identifiers & Profiles".
Click on "Devices" and add your friends device (name and UDID).
Now click on "Provisioning Profiles" and select the existing ad-hoc distribution provisioning profile for your app and click "Edit" to add the new device of your friend
Now make Xcode refresh its internal provisioning profile database via menu "Window / Organizer" then click "Devices" tab and "Provisioning Profiles" on the top left. Then click menu "Editor / Refresh from Developer Portal"
Rebuild your app with your just updated provisioning profile (this should update the code signing of your app.
Via "Product Archive" generate your *.IPA
You should now EMail the *.ipa to your tester friend.
If you are fast with the above steps 2 to 8, your frind still has connected his device to iTunes (see step 1 above).
;-)
He now simply drag'n'drops the *.ipa file from your mail to iTunes and iTunes syncs the App to his device. The app should work. (Eventually the device installs the profile - but nothing can go wrong here).
DONE.
If you have multiple testers and mutiple builds, then have a look at http://www.testflightapp.com - this free of charge website makes distrubution of iOS apps for ad hoc testing even more easy. But it only saves time if you have multiple testers and multiple to be tested apps (or versions of one app).
Have fun!
If you are developing on mac, Consider downloading multiple iOS and config your iphone simulator for those.

Exporting Ad Hoc profile?

I'm developing an app with a friend. I have created an ad hoc profile from my dev account. What do I need to supply to him so he can build the app on his machine as well? Do I need to supply him the .cer or the .p12 and in the case of the latter do I need to give him the password for my p12 (really dont want to do this)
If your friend has Developer account then u must prefer Fonix suggestion..
If your friend hasn't Developer account then u have to collect the device id of your friend. Then add a device in your developer account with your friend's device id. After that, create a adhoc profile and archive your project. From the organizer in Xcode 4.6.1 you could distribute your app by binding the adhoc profile as ipa format. You just send the adhoc profile and the ipa file of your project to your friend. Tell your friend to connect the device and drag both of the file on iTunes logo, then iTunes will show your project in app tab..... after that just press install then your friend could experience your project...
You dont need an ad hoc profile for that, that is purely for giving someone the app without having to upload it to the app store. he will just need to have his developer account added to your team, then he will need to upload his certificate to the team, and then add his certificate and his device to the development provisioning profile for the app
so in summary:
add your friend to your developer team
click on certificates and create a new developer certificate for your friend
(optional, probably already done this) create your app id (can be a wild card one for development, but easier if you just do this properly from the begining)
(optional, can just use the simulator) add you and your friends devices udids
create or edit your current development provisioning profile to include you and your friends certificates and devices, download this and double click to add to xcode automatically
and that should sort you out

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.

Resources