Skip to main content
Appnetic can build a signed iOS version of your app, upload it to App Store Connect and add it to TestFlight, so you can install it on your iPhone. You don’t need a Mac or Xcode.
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.
Apple never lets a bundle ID change after the first upload, so choose it carefully. Appnetic locks it at that point.
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.
You can close the dialog while it works. It goes through these steps: 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.
With a key, you create each app’s App Store Connect record yourself: the Publish dialog shows the values to use.

If something goes wrong

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.
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.
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.
Sign in as the team’s Account Holder or an Admin, or use an API key instead.
Sign in at appstoreconnect.apple.com, accept any new agreement or finish what it asks, then try again.
App Store names are unique across Apple. Change the App name in the dialog and try again.
Choose a different bundle ID. Bundle IDs are unique across Apple, so one another team registered can’t be used.
The chat card shows the reason. Fix what it says, then open Publish and try again.