Forum Xamarin.iOS
We are excited to announce that the Xamarin Forums are moving to the new Microsoft Q&A experience. Q&A is the home for technical questions and answers at across all products at Microsoft now including Xamarin!

We encourage you to head over to Microsoft Q&A for .NET for posting new questions and get involved today.

What's the correct process to do beta test for xamarin.ios after building the xamarin.foms app?

SerenaSerena Member ✭✭

I would like to do beta test before publishing the forms app but stuck for long.

For Android it is quite simple, just archived the xamarin.Android project, which generates an apk file. And then I uploaded it to App Center and distribute to testers via email.

for ios, here are what I tried:

pre: my xamarin.ios project is working well with automatic provisioning, and the simulator is working in visual studio on windows too.

I have an paid apple developer account. There are testers' registered devices in the portal.

Try1:

Since App Center required an ipa file to distribute, I set the configuration

I found the ipa file under bin folder, just uploaded it to App Center. My tester told me he wasn't able to install that ipa file.

Try 2:
Then I tried to use Testflight, but there is no bundle id to select while creating the app at Apple Storage Connect. I think there should be one matches the info.plist file.

Try 3:
Can I archive the ios project? Yes, but not able to distribute after selecting Ad hoc:

Seems try 2 and try 3 will only works if I use manual provisioning instead of automatic provisioning.

So what's the correct way to do the beta testing? Can I keep everything remained working with automatic provisioning, and distribute this version for beta test?

Answers

  • jezhjezh Member, Xamarin Team Xamurai

    I found the ipa file under bin folder, just uploaded it to App Center. My tester told me he wasn't able to install that ipa file.

    Xamarin.iOS applications can be user-tested via ad hoc distribution, which is available on both the Apple Developer Program and the Apple Developer Enterprise Program, and allows up to 100 iOS devices to be tested.
    Ad hoc distribution requires that applications be provisioned using an Ad Hoc provisioning profile containing code signing information, as well as the identity of the application and the devices that can install the application.

    For more, you can check this document:https://docs.microsoft.com/en-us/xamarin/ios/deploy-test/app-distribution/ad-hoc-distribution?tabs=windows

  • SerenaSerena Member ✭✭
    edited October 20

    @jezh Let me give my whole detailed process. I am still not able to make it work.

    1.On Apple developer portal:
    1.1 Create an explicit bundle id on Apple developer account
    1.2 Create iOS Distribution (App Store and Ad Hoc) certificate, upload a Certificate Signing Request created by pair Mac
    1.3 Create provisioning profile using 1.1's id and 1.2's certificate, selecting all registered devices

    2.On Apple Storage Connect:
    Create an App using 1.1's bundle id, I found that only explicit id will be shown in the drop-down menu, that's why I create it

    3.On pair Mac:
    Download 1.2's ios distribution certificate and install it

    4.In Visual Studio 2019:
    4.1 Select Xamarin.iOS project, right click, select properties
    4.2 In iOS Bundle Signing section, Configuration -> Release, Platforms -> Active(iPhone)
    Bundle Signing Scheme -> Manual Provisioning
    Under Manual Provisioning, select iphone distribution as Signing Identity, select the created provisioning profile as Provisioning Profile
    Custom Entitlements: Entitlements.plist
    4.3. In iOS IPA Options, check Build ITunes Package Archive(IPA)
    4.4 In info.plist, set Bundle Identifier as 1.1's explicit bundle id, also add version and build number
    4.5 In_Entitlements.plist_, keychain, keychaingroup, add 1.1's bundle id
    4.6 clean, rebuild succeed, get ipa file under bin/iphone/release folder

    1. Transporter on pair Mac
      Upload 4.6 ipa file to Apple Storage Connect using Transporter, develiered succeed

    Then in Apple Storage Connect, I set internal testers and distribute the build, I am sure his device is registered, my tester always meets this error in testflight:

    I am quite confused, when I rebuild the app, I can see it is using the correct provisioning profile, app id, bundle id in Output window in Visual Studio.

    What could be missing and incorrect?

  • SerenaSerena Member ✭✭
    edited October 21

    update: I found after the above process, my testers are able to directly install the ipa file. But testflight still throws the same error.
    Would be great if someone know how to fix it, as we would like to take advantage of the invite external users feature.

  • SerenaSerena Member ✭✭

    @jezh yes that's what I did. Though this file is a bit outdated.

  • jezhjezh Member, Xamarin Team Xamurai

    Try 2:
    Then I tried to use Testflight, but there is no bundle id to select while creating the app at Apple Storage Connect. I think there should be one matches the info.plist file.

    Is your bundle ID consistent with the application you're publishing?

Sign In or Register to comment.