Skip to main content

iOS App Store Submission Guide

Before You Submit

1. Enroll with Apple as an Organization

For your iOS apps, please enroll as an organization (not as an individual) with the Apple Developer Program. Apple requires competition skill-based games to be submitted by organizations, only.

2. Get Production Tester Login

You need to provide Apple with a Skillz Production login so that they can test Skillz related features. This is to make sure Apple can test the functionality in your game. Without a login, your app may be rejected.

A test login you can provide them with is:

  • Username: Apple-tester
  • Password: Contact us for the Apple tester credentials or reach out to your Skillz account manager

3. Name Your App

All Skillz based games must be skill-based. Please refer to our recommendations on naming your app so that your app will not be mistaken for a chance-based game.

4. Upload Binaries to Skillz

Within Xcode, click Product -> Archive. Select your build and click Distribute App. Archives

Follow the prompts to upload to App Store Connect: Distribute App

Select Export as the destination: Export App

Important: Make sure to deselect Manage Version and Build Number in the distribution options. Deselecting this prevents Xcode from overwriting your set version and build numbers in the main app and in framework dependencies. Distribution Options

An .ipa file will be created in you local filesystem. Upload this build to the Skillz Developer Console. Additional information can be found on the Going Live with Skillz page.

Make sure the game binary you upload to Skillz is the same exact build as the one you upload to Apple. If you upload different binaries, Skillz Production will not work as a security precaution against unauthorized software.

Submit Your Game to the iOS App Store

1. Add a New App by Uploading to App Store Connect

Xcode now allows the New App creation to be done automatically by pushing your build up to App Store Connect. See Apple docs here on the simplified process of uploading your build and creating the New App if it doesn't already exist.

Within Xcode, click Product -> Archive. Select your build and click Distribute App. Archives

Follow the prompts to upload to App Store Connect: Distribute App

Select Upload as the destination: Upload App

Important: Make sure to deselect Manage Version and Build Number in the distribution options. Deselecting this prevents Xcode from overwriting your set version and build numbers in the main app and in framework dependencies. Distribution Options

2. Enter and Edit App Information

Next, log into App Store Connect using your developer account to access more information about your app:

More App Information

Fill out all required fields, which include the Name, Subtitle, Privacy Policy URL, and Primary Category. Again, hover over the ? icon for more information about a specific field.

Click the Save button after all required information has been entered.

3. Pricing and Availability

After saving your changes on the App Information page, navigate to the Pricing and Availability page if the website did not automatically load it. Set your price to $0 and make your app available in all territories, except for People's Republic of China (China), Republic of Korea (South Korea), and Islamic Republic of Iran (Iran).

As with previous pages, fill out all required information, and hovering over the ? icon for more details about a particular field.

4. Prepare for Submission

Now, navigate to the "Prepare for Submission" page. This is where a number of items must be completed before being able to submit your app to await approval from Apple.

5. App Privacy Questionnaire

Apple has rolled out a new mandatory developer survey asking for information about what user data is collected by their app and what this data is used for. Responding to this survey is mandatory for all developers who have an app on the Apple AppStore.

To aid developers with games developed on the Skillz platform, Skillz has laid out sample responses to this survey based on the collection and usage of user data in the Skillz SDK.

DISCLAIMER:

The below responses are the Skillz-recommended declarations if your game uses the Skillz SDK alone and does not use any other 3rd-party SDKs aside from Skillz. If you do use additional 3rd party SDKs, you are responsible to understand how those SDKs collect and use user data in order to properly respond to the questionnaire.

Questionnaire Structure

There are two questionnaires that need to be filled out:

  1. The first questionnaire pertains to WHAT user data is collected.
  2. The second questionnaire pertains to HOW that data is used.

Responses to the First Questionnaire: WHAT user data is collected

Select Yes to data collection for the following fields for each category:

  • Contact info: Select “Name”, “Email Address”, “Phone Number”, “Physical Address”
  • Health: Select NONE
  • Financial: Select Payment Info ONLY
  • Location: Precise AND Coarse location
  • Sensitive info: NONE
  • Contacts: YES
  • User content: Select “Photos or videos”, “Gameplay content”, AND “Customer support”
  • Browsing history: NONE
  • Search history: NONE
  • Identifiers: Select “userID” AND “device ID”
  • Purchases: YES
  • Usage data: Select “Product interaction” AND “Other usage data”
  • Diagnostics: Select ALL
  • Other data: NO

Responses to the Second Questionnaire: HOW the data is used

See table below for responses

6. Upload App Previews and Screenshots

Be sure to upload app previews (re: videos) and screenshots for required platforms. Screenshots must conform to the exact dimensions listed for each specific platform. An easy way to meet these requirements is to run your app on the Simulator for a platform and selecting the New Screenshot item from the File menu:

New Screenshot

Here is an example of a screenshot uploaded for the an iPhone with 5.5" screen:

Example Screenshot

Refer to the App Store documentation for guidelines on how to produce compelling app previews and screenshots in order to create a strong listing for your app.

7. Set Age Rating

  1. Select NONE for all options on the first page:

Age Rating

  1. Select No to containing unrestricted web access and No to instances of gambling:

Age Rating

  1. Select a rating of 17+ and select Restrict to 17+. Note that you may see a warning that some countries will not be eligible to sell your app. Select Done to complete selections:

Age Rating

8. Version Release Section

It is recommended that the Manually release this version option is selected in the Version Release section as pictured below:

Manually Release

By controlling when your app is released to the app store, you can ensure that your app's integration with the Skillz SDK has been fully tested, and better coordinate when to publish it on the Skillz Developer Console.

9. Fill Out Remaining Required Fields

Be sure to fill out all remaining required fields. Entering these details are fairly straightforward, so they will not be covered in-depth for this article. Hover over the "?" icons for more information about a specific field.

Below is a list of corresponding areas in App Store Connect for guidance.

App Information

  • Name: (30 character limit)
  • Subtitle: (30 character limit)
  • Category:
    • Main: Games
    • Secondary: Sports, (plus a genre-specific category)
  • Privacy Policy URL: Use your own URL if you have one. If not, use: https://corp.skillz.com/privacy-policy/
  • Bundle ID: (unique ID set by the app developer for use in Xcode)
  • SKU: (unique ID set by the app developer, not visible on the store)
  • Apple ID: (automatically generated by Apple during ITC setup)
  • Primary Language: (your app’s main language)
  • License Agreement: (This will typically use Apple Standard agreement)
  • Rating: (+17 for all Skillz games)

Version Information

  • What’s New: (4,000 character limit, used for version updates)
  • Promotional Text: (170 character limit)
  • Keywords: (100 character limit)
  • Description: (4,000 character limit)
  • Support URL: Use your own URL if you have one, if not, use https://skillz.zendesk.com/hc/en-us
  • Marketing URL: (your company website)
  • Screenshots: (marketing images to promote your app)

General App Information

  • Copyright: (For an original game, this would normally be your company and the first year it was published)
  • Trade Representative Contact Information: (unchecked)
  • Company Contact Information: (your own company information)
  • Routing App Coverage File: (optional, allows the app developer to specify supported regions)

App Review Information Section

  • Sign-in Information:
    • Username: Apple-tester
    • Password: go here for obtaining the current credentials
  • Contact Information: (this contact will be notified of any review issues for follow-up)
  • Notes:
    • In accordance with Section 5.3.4, skill-gaming competitions (powered by Skillz) are geo-restricted to players located where competing for real money in skill-based games is legal. Because the game also includes free tournaments that do not have cash prizes, the app can be accessed from anywhere but users in prohibited jurisdictions are blocked from entering real money competitions.
    • In accordance with Section 3, the game’s multiplayer functionality allows players to deposit money into an account for competing against other players for real prizes (where allowed by law). The deposited money is not a virtual good and cannot be used for the purchase of virtual goods.
  • Attachment: (not usually needed)

10. Export Compliance Information

The Export Compliance Information question asks if your game uses cryptography. Choose Yes as the Skillz SDK leverages HTTPS for its traffic.

Export Compliance

11. Submit for Review

Click the "Submit for Review" button. It typically takes 24-48 hours for an app to be reviewed. However, this could take longer if your submission has incomplete or missing information.

You can view the status of your app submission in the My Apps section of the iTunes Connect site.

Please refer to the App Store Review Guidelines for more information, especially if your app submission was rejected.

12. Add App ID to Developer Console

Once your submission is approved, remember to enter your app's App ID in the Skillz Developer Console for your app.

Handling Submission Rejections

In the event that your submission is rejected by Apple, please refer to this article on common App Store rejections, and recommended responses.

Note on Apple Silicon Macs

The Skillz SDK does not yet support running apps on the the Apple Silicon Macs. Apple makes your app available to this platform by default. In App Store Connect go to the General -> Pricing and Availability section and then un-check the “Make this app available” under the iPhone and iPad Apps on Apple Silicon Macs. Save the change with the button at the top right.

Add a New App