Hyoban

Hyoban

Don’t do what you should do, do you want.
x
github
email
telegram
follow

Share the iOS app you wrote.

This note is to record the pitfalls I encountered in the process of distributing the app for testing by others, hoping to save you from stepping on them again, of course, provided that you have an Apple Developer account.

Referring to Expo's Share pre-release versions of your app article, you have the following three ways to share a preview version of your app.

  1. Internal distribution
  2. TestFlight internal testing
  3. TestFlight external testing

Internal Distribution#

  • By using internal distribution, each test device needs to use a temporary provisioning profile, and this method can only distribute to a maximum of 100 iPhones per year.
  • The UDID of the device is required for the temporary provisioning profile. Either you need to let the user obtain it by connecting through Mac Xcode, or you need to obtain it through installing the provisioning profile (you need to establish trust between you and the tester).
  • Every time you register a test device with Apple, you need to wait for Apple to process it, which may take up to a day.
  • After registering a new device, you need to rebuild.
  • Applications distributed in this way require users to enable developer mode on their phones.

In summary, this method is only suitable for internal testing within a small range.

TestFlight Internal Testing#

TestFlight internal testing requires you to assign your Apple Developer account permissions to the testers, and it does not require you to submit your app for review. So it is also only suitable for small-scale internal testing.

TestFlight External Testing#

TestFlight external testing allows you to distribute your app to users in various ways, such as adding via email or link, which is also the most common way of external testing.

The requirement is that you need to submit the app for review, and when submitting, it also shows that you need to provide an account for testers to use for testing. However, in reality, you can ignore submitting this information. Based on my experience of submitting, the first submission may take a day, but it will not be rejected. The subsequent reviews are instant and convenient.

By the way, when filling in the contact information, the error message for the phone number is not correct. You just need to add +86.

Summary#

When you want to share the app you wrote with others, I recommend that you first try TestFlight external testing to distribute it, even if you are not ready for review yet. If the initial review passes directly, then everyone is happy.

Using Expo and EAS to build and submit the app is very convenient, you only need to:

npx eas build --profile production --local
npx eas submit -p ios

Of course, don't forget to update your EAS configuration:

{
  "cli": {
    "appVersionSource": "remote"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {
      "autoIncrement": true
    }
  },
  "submit": {
    "production": {
      "ios": {
        "ascAppId": "123456"
      }
    }
  }
}
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.