Publishing is in early access: it’s switched on only for invited workspaces while we test it with real Apple accounts. If you don’t see Publish in your project’s top bar, it isn’t on for your workspace yet.
What you need
- An Apple Developer Program membership for the team that will own the app ($99 a year, from developer.apple.com). The latest Program License Agreement must be accepted in your Apple account.
- The team’s Account Holder or an Admin to connect it the first time. Other roles can’t create the API key Appnetic needs.
- A Pro or Team workspace. Publishing counts as one native build. See Credits & plans.
- A version of your app that builds. Publish uses the current version, and it has to be a working one.
- The TestFlight app on your iPhone, from the App Store.
Publish for the first time
Click Publish in the project’s top bar. The dialog has four steps, and each one is ticked when it’s done.1
App details
Check the App name (up to 30 characters, as shown under the icon) and the Bundle ID, such as
com.yourname.habits, then click Save details.2
Apple Developer account
Enter your Apple email and password and click Connect Apple account. Apple then asks for a code: approve the sign-in on one of your devices if it asks, and type the 6-digit code into Appnetic.You have about 50 seconds to enter the code, because Apple only waits about a minute. If time runs out, click Send a new code; you won’t have to type your password again.If your Apple account belongs to several teams, choose the team that should own the app.
3
App in App Store Connect
If the app doesn’t exist in App Store Connect yet, Appnetic creates it for you as part of the same sign-in, with your app name and bundle ID. You can also choose I’ll create it myself and follow the values shown, then click Check again.
4
Version
Enter the Version number, such as
1.0 or 1.2.3, then click Publish to TestFlight.
When it’s ready, a card in the chat says so and links to TestFlight in App Store Connect. The build is added to an internal TestFlight group called Appnetic testers, which you can open on your iPhone in the TestFlight app. If it fails, the card says why.
Nothing is public: your app only reaches the App Store when you submit it for review yourself in App Store Connect.
Publish an update
Once the first publish is done, open Publish again: everything is already set, so it’s one click. Each publish gets a new build number automatically. Raise the Version number once a version is in App Review, because Apple allows only one build of a version in review. A different app in the same workspace needs one more Apple sign-in, to create its own App Store Connect record. The Apple connection itself is shared by every project in the workspace.What happens to your Apple password
- Your password goes to Apple through a temporary, isolated session. It’s used once, for that sign-in, and never stored. Neither is the code Apple sends.
- What Appnetic keeps is an App Store Connect API key called Appnetic, with the App Manager role, which it creates during the sign-in. It’s encrypted when stored and used only to sign, upload and add your builds to TestFlight. Signing certificates and profiles for your team are kept encrypted too.
- You can revoke the key at any time in App Store Connect, under Users and Access → Integrations. Publishing stops working until you connect again.
- To disconnect, a workspace admin opens Settings in the sidebar and clicks Disconnect… on the Apple App Store card. Then revoke the Appnetic key in App Store Connect too, because Appnetic can’t remove it from Apple for you.
Use an API key instead
If you’d rather not enter your password, or your account signs in with a security key, connect with a key you create yourself:1
Create the key
In App Store Connect, go to Users and Access → Integrations → App Store Connect API and generate a Team key with the App Manager role.
2
Download it
Download the
.p8 file. Apple only lets you download it once. Note the Issuer ID shown above the keys.3
Add it to Appnetic
Open Settings in the sidebar, click Use an API key instead on the Apple App Store card, then choose the
.p8 file and paste the Issuer ID. The Key ID fills in from the file name.If something goes wrong
Apple didn't accept that email and password
Apple didn't accept that email and password
Check them and try again. After a few failed attempts, Appnetic pauses sign-ins for an hour, because repeated failures can make Apple lock the account.
The code wasn't entered in time, or wasn't accepted
The code wasn't entered in time, or wasn't accepted
Click Send a new code and enter the new one quickly. If Apple refuses a code from your devices, it may text one to your phone instead; Appnetic tells you when that happens.
Apple says the account is locked
Apple says the account is locked
Unlock it at iforgot.apple.com, then try again. Apple can lock an account it thinks is under attack, including after sign-ins from servers.
This Apple account can't create API keys
This Apple account can't create API keys
Sign in as the team’s Account Holder or an Admin, or use an API key instead.
Apple is waiting for you to finish something on your account
Apple is waiting for you to finish something on your account
Sign in at appstoreconnect.apple.com, accept any new agreement or finish what it asks, then try again.
The app name is taken
The app name is taken
App Store names are unique across Apple. Change the App name in the dialog and try again.
The bundle ID belongs to another team
The bundle ID belongs to another team
Choose a different bundle ID. Bundle IDs are unique across Apple, so one another team registered can’t be used.
Publishing failed
Publishing failed
The chat card shows the reason. Fix what it says, then open Publish and try again.