Testing your apps

Make final preparations before submission of the first app version.

After you have completed integrating the Library or the Setapp Framework (and creating a new build for a macOS app), it’s time to check if your apps work correctly within the Setapp environment. For Mac apps, we provide you with access to the Setapp desktop client; for iOS apps, you’ll need our QR Code Generator app.

Your Setapp user's account

To test both macOS and iOS, you'll need your Setapp user's account. The access credentials — email and password — are usually the same as your default creds for the developer account unless you have changed them after joining Setapp. You can always check your creds by signing in to your account or restoring password if you can’t remember it. If you still have difficulties remembering your credentials or signing in, please reach out to our support team.

Test your macOS app

Install and sign in to Setapp desktop client

  1. Sign in to your Setapp developer account and click Download Setapp in the upper-right corner of the page. The download starts immediately.

  2. When the download is completed, install Setapp as an ordinary macOS app.

    If you’re looking for alternative download locations or need help with the installation, see the Install Setapp article on our Support Portal.

  3. After installation, open the Setapp desktop app, then click "Sign in to use apps" in the upper-right corner. Use the credentials from your user account.

Testing steps and expected results

  1. Open the Setapp desktop app; make sure you’ve signed in.
  2. Open your macOS app (the local build with the integrated macOS Library or Setapp Framework).

If you integrate the Library or Setapp Framework correctly, the app will start and become ready to use (Setapp doesn't require additional actions and shows no notifications). Then, the app should work in its regular operation mode.

If you haven't signed in to your user's account, the Setapp's sign-in dialog should appear; after logging in, your app should work as usual. Finally, if you don’t have Setapp on your Mac, the Library will display a dialog that informs a user that Setapp is required to work with the app; you don’t need to do anything.

If something goes wrong, review your integration steps or contact our Support Team.

Once the new build of your app is tested successfully, submit it for review. When your app passes the review, it usually appears on Setapp within 30 minutes and becomes available to all Setapp users.

Test your iOS app

While testing, we're trying to verify if the app unlocks its full functionality after receiving the corresponding data from the Setapp system via the Setapp Framework’s public API. For testing purposes, we've developed an app that generates QR codes for your iOS app.

You can download the QR_Code_Generator.app to your Mac from here.

📘

Note

The QR codes expire in an hour.

Test your iOS app for Setapp

The testing steps are the following:

  1. Open the QR code generator app and choose App Store in the top menu.

  2. Sign in as a Setapp user. Use the credentials from your user account. Note that it will occupy an iOS seat in your Setapp account.

  3. Fill in the form:


i. Enter your app bundle ID.

ii. Choose "Activate via Setapp."

iii. Choose "Setapp Desktop." Later, choose other options to test different activation scenarios.


  1. Click the round arrow on the right-hand panel. You will see the QR code for your app. Scan it from your mobile device to test the activation process.

Test your iOS app for Setapp Mobile

Test distribution via Setapp Mobile

In your Xcode project, set "Distribution" to 'com.macpaw.marketplace.ios.eu' and build the app.



Test successful activation via Setapp Mobile

The testing steps are the following:

  1. Open the QR code generator app and choose Setapp Mobile in the top menu.

  2. Sign in as a Setapp Mobile user. Note that it will occupy an iOS seat in your Setapp Mobile account.

  3. Fill in the form:

i. Enter your app bundle ID.

ii. Enter your mobile app ID. You can find it in your developer account > Apps > App Version (or Add First Version) > Setapp Mobile app ID.

iii. Choose "Activate via Setapp."

  1. Click the round arrow on the right-hand panel. You will see the QR code for your app. Scan it from your mobile device to test the activation process.

    📘

    Note

    A QR code can be used only once and is valid for 1 hour after generation. To generate a new QR code, please click the menu in the bottom-right corner > Reload.

In case of successful activation, you must see the following message:

Run the diagnostics menu

We offer some quick solutions to users who encounter technical errors. You can check what your users will see if they encounter those errors in your app.

The diagnostics menu includes:

  • Viewing subscription status
  • Viewing and sharing Setapp logs
  • Resetting Setapp Framework internal state
  • Generating and sharing a report that includes everything above + information about the host app.
  1. To run diagnostics, choose "Open Diagnostics" in the Action menu:
  2. Scan the QR code from your iPhone.
  3. Choose an option you want to test:

Additional options

Click the question mark menu to view more options:

  • Choose Reload to generate a new QR code.
  • Choose Copy to copy the link of activation. To test it, paste into your iPhone’s browser or into the Mac simulator’s browser.
  • Choose Troubleshooting to find out what error blocks the activation. Just drag and drop the log file to view the reason.

Troubleshooting: the device_limit_reached error

The device_limit_reached error might occur while testing the integration of your app with the Setapp Framework. The full text of the error message might be as follows:

[Setapp.WebService] [Warning] [SessionToken] > An error occurred during 
`Get session token` request: Error Domain=com.setapp.fmwk.webService 
Code=1403 "Backend returned an error." 
UserInfo={NSLocalizedDescription=Backend returned an error., 
NSUnderlyingError=0x012345678 {Error
Domain=com.setapp.fmwk.webService.networkResponse Code=400 "Bad request." 
UserInfo={NSLocalizedDescription=Bad request., 
NSUnderlyingError=0x9abcdef01 {Error 
Domain=com.setapp.fmwk.webService.response Code=1 "device_limit_reached" 
UserInfo={NSLocalizedDescription=device_limit_reached, 
NSLocalizedRecoverySuggestion=device_limit_reached}}}}}

The error means you're probably trying to install the iOS app on an iOS device (or a Mac if you're using the Simulator app) that is not connected to your Setapp user's account.

To check if that's the case, go to the My devices page of the Setapp user online account and verify if your testing device is mentioned. If not, you can disconnect another device and connect the one you need at the moment; see Connect new devices — Mac, iPhone, or iPad.

See also

Setapp requirements