Fabric/Fastlane - Automatically Add Device UDIDs - ios

I'm using Fabric and Fastlane to deploy my beta builds to testers. Currently, when I have a new tester, I invite them via email, and they go through the Fabric onboarding process. Then, on all future builds, they'll receive a message "The developer needs to add the device's UDID to a build." So then I go to developer.apple.com and add their UDID to my provisioning profile, and they can run the next build. It works as desired.
Is there any way within Fabric/Fastlane to automate this process of adding UDIDs to the provisioning profile on deployment? It seems sigh within Fastlane can manage provisioning profiles, and Fabric obviously has access to the device UDIDs, but I can't find any documentation about this particular step.

Check out the docs on how you can use fastlane to automatically add device testers to your profile: https://docs.fastlane.tools/getting-started/ios/beta-deployment/#best-practices
There is currently no automatic integration with Fabric Beta, you'll have to manually add it to your list of devices. It's definitely something that can be improved.

Related

Device UDID is already present in my developer account still getting the error as waiting for developer in firebase and fastlane

I am trying to build the app and upload to firebase through fastlane.
Add distributed successfully, but after the distribution the app shows the Waiting for developer and need to add the UDID.
But already I have added that UDId of the user in my provisioning profiles?
How this will be happen?
Not fully understanding the context here but whenever I ran in a similar issue I need to archive the build once again making sure it gets the updated provisioning profile.
Also, if you use SIGH and you want all your devices being added automatically, every build I recommend using force option.
http://docs.fastlane.tools/actions/sigh/#parameters
For firebase distribution using the fastlane, I need to set the adhoc certificate. The above issue got because I have distributed the app using AppStore provisioning profile.
Added the export_method as Adhoc and run the build it get succeeded and able to install the app on my phone.

How do I update someone else's iOS TestFlight build in App Store Connect?

I'm trying to upload a new build to TestFlight. I was invited to App Store Connect as an admin, and I added my Apple ID in Xcode. There is already an existing TestFlight build a bygone developer has put up there, but I've taken over the project and need to update it. I can build the app in the simulator just fine, but when I try to make a build for a generic iOS device I get these two errors:
Failed to register bundle identifier. The app identifier "com.blahblahlbah.blahblahblah" cannot be registered to your development team. Change your bundle identifier to a unique string to try again.
No profiles for 'com.blahblahlbah.blahblahblah were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.blahblahlbah.blahblahblah'.
I don't see any way to select a different team. Do I need to enroll in the developer program? I'm using Macincloud to try to build the app from Ionic, so I don't have an iOS device to set up two-factor authentication with, but I can get one if that is required to get this to work. Are there some build settings that I have to set up?
I eventually got the last developer to revoke their certificate. Turns out there was some issue with my account not being able to register for the developer program. After dealing with their support for a while I just made a new account. Then I was finally able to create a new certificate and select it in XCode. After that, it built just fine.

Add Developers in Xcode

Assume I have an Xcode project running on Github and multiple developers. I have a new developer who will clone the git repository and start working on the app. I want to add his iOS devices as devices that can run the builds without having to reissue certificates and do all that long process on the iOS Dev Center. How can I do that? I want him to clone the repo, connect his device to Xcode and be able to run the app on his device.
Thanks
If he is a paid iOS developer and there is no reason to use a specific provisioning profile you won't need to do anything. Xcode can automatically provision his device when he compiles it. Just use the automatic profile selection for your development builds in the build settings.
If it is important that you both use the correct provisioning profile (for example to test push notifications) there is no way around adding his device to the profile on the developer portal. Plus you will need to let him sign the binary as you, using your developer certificate and private key (which you will have to export from Keychain on your development machine).

Adding provisioning profile to new device on existing project

I'm confused as to how to add a provisioning profile to a new device. So I'm using Xcode 4.3.2, and TestFlight. I was given a pre-existing project and a team license via the company I'm helping out. The provisioning profile on developer.apple.com had certain devices already set up. So I added all these devices as testers to TestFlight, sent out an archived build, no problems, worked fine.
Now, one of the testers wants to try out testing on an iPad. So, I sent them an invite via TestFlight, and their device automatically registered on TestFlight. I see their UDID, and device, etc. However, their device is listed under "Teammates Devices Not On This Profile". So, I followed the prompts, exported the missing UDID to a file, and uploaded the file to the Provisioning Portal. I see the iPad now under "Devices" in the Provisioning Portal, however it is listed with 0 profiles associated. How to I associate the provisioning portal of this app with the iPad? Is there some simple step I'm missing? Keep in mind this iPad is in a foreign location, so I have no control over it. I need to tell them what they need to do (or automate it myself). Please help!
You need to add the device to the provisioning profile. Then, build the project again using the updated provisioning profile. And upload that build to test flight.
Or, I believe TestFlight has a new feature that allows you to simply update the build with the new profile without having to create a new build.

Showing beta versions of an app to a customer

Can I send to my customer a beta version of my iOS app that he can run in the Simulator ?
Can I install Simulator only (without Xcode) on a Mac ?
I actually need an efficient methodology to send him the beta versions of the app, without having to meet him at each update.
Also, (3.) is there a way to install a beta version of the app, I developed in my xCode on its iOS device without app store ?
Thanks
No, I do not believe you can.
No, I don't think so. If you could, however, you'd also have to put all your source code on that machine and build your app there, just to run it in the simulator.
Yes, it's called an Ad Hoc build. You create a special provisioning profile through the provisioning portal on Apple's Developer portal. You then sign the build with that provisioning profile (actually, "Build and Archive"). Then you can, through the Xcode Organizer, share that build via e-mail with your customer. The Organizer creates an .ipa file and includes it along with the provisioning profile into an e-mail message which you can then compose and send.
Edit: The Ad Hoc provisioning profile will, of course, need to include the UDID's of your customer's device(s) on which they would like to test. That is the missing piece here that ties it all together: UDIDs, Ad Hoc profile, signed app with that profile, e-mail it to the customer and they can install both files (ipa and profile) via iTunes.
Lots of documentation on this, right in the Developer portal.
TestFlightApp.com is a great way to easily manage and distribute beta tests and ad-hoc builds. It's nothing you couldn't do yourself, manually, but it really helps make it easy, and is free.

Resources