🛫 Preflight check before submitting to TestFlight

Before submitting your app to TestFlight we recommend reviewing the following items to ensure your app meets these requirements. These guidelines are the items Occipital checks during your review, so meeting these requirements will ensure your review is completed as soon as possible!

Many of these following guidelines pair what our users expect and how users expect to be communicated with regarding the operation of their sensor. For consistent and expected communication with users, we require use of our Artwork for Structure Apps. Images you will see alongside our guidelines will be sourced from this .zip file.


⚙️ Minimum Operating Requirements

Structure Sensor-powered apps must be built using the latest available version of the Structure SDK and conform to Apple’s iOS App Review Guidelines.

Start

 Download the latest Structure SDK

✅ Develop your app to support Structure Sensor (Mark II)

Branding

☑️ App displays the “Built for Structure Sensor” graphic on your launch screen that is displayed upon app launch

☑️ App must include an outlet (e.g. email address) to communicate Support issues to developer

Functionality and Managing Connections

☑️ Grant Camera Access on first app launch / first sensor initialization

☑️ Shows “Structure Sensor Required” on the first launch of Structure Sensor functionality

☑️ Shows “Please connect Structure Sensor” after first sensor initialization and does not crash

☑️ When the user connects Structure Sensor, the app displays "Sensor is initializing. Please wait..."

☑️ Low Battery indicator when less than 10% battery

☑️ Shows “Please charge Structure Sensor” when the battery is depleted

☑️ App appropriately handles plugging, unplugging of the sensor at various places within the app

☑️ “Calibrate Now” notification

Quality

☑️ The app will provide a user experience that does not diminish users’ perceived quality of the Structure Sensor and its performance.

Stability

☑️ The app will not freeze, crash or inhibit the performance of the iOS device or any other app, Structure Sensor or any other device required for your Structure Sensor app to operate.

Uniqueness

☑️ The app will provide a user experience that is new and unique, and that does not substantially duplicate or otherwise replicate functionality already found in other apps created for the Structure Sensor (including the SDK Sample Apps)


Branding

☑️ App displays the “Built for Structure Sensor” graphic on your launch screen that is displayed upon app launch

Structure and Occipital branding must be included, and it must meet Occipital’s brand standards.

  1. Use the “Built for Structure Sensor” graphic, which must be displayed on a splash screen when the app is launched and must be easily read and seen by the user. 
  2. In the App Store description for your app, you must include the following sentence: “Built for use with the Structure Sensor by Occipital.”
  3. Abide by the brand guidelines for additional Structure and Occipital logo usage found at http://structure.io/brand-guidelines

☑️ App must include an outlet (e.g. email address) to communicate Support issues to developer

  1. App must include a link to where the user may inquire for Support issues to developer. (e.g. Your organization’s Customer Support email address or support website)

Functionality and Managing Connections

☑️ Grant Camera Access on first app launch / first sensor initialization

If your app uses the iOS color camera, the user will need to grant access. Ensure yourNSCameraUsageDescription includes details of camera use, including Structure Sensor's feature that requires permission. Camera permission requests should only occur when you are about to start using camera features. If permission settings change after approval, the app must behave gracefully toguide the user to grant permission settings again.

Examples of NSCameraUsageDescription

✓   “We need access to camera to display color information with the Structure Sensor and/or take photos within this app.”

🚫 “Give us access.”

☑️ Shows “Structure Sensor Required” on the first launch of Structure Sensor functionality

  1. If a Structure Sensor has not yet been connected while the app has been in use, display the Structure Sensor Icon followed by the text “Structure Sensor required.” The graphic must link to the following URL: http://structure.io/buy-a-sensor  

(The above examples show our image assets on black and white backgrounds)

☑️ Shows “Please connect Structure Sensor” after first sensor initialization and does not crash

If a Structure Sensor has previously been connected while the app has been in use, display the following message: ”Please connect Structure Sensor”

☑️ When the user connects Structure Sensor, the app displays "Sensor is initializing. Please wait..."

If a Structure Sensor is connected but is not yet steaming depth, display the following message: ”Sensor is initializing. Please wait..."

☑️ Low Battery indicator when less than 5% battery

The app must alert users via a graphic when the Structure Sensor battery level is equal to or under 5%

☑️ Shows “Please charge Structure Sensor” when the battery is depleted

When Structure Sensor’s battery is completely depleted, The app must alert users with the following message: “Please charge Structure Sensor”

☑️ App appropriately handles plugging, unplugging of the sensor at various places within the app

When a sensor is plugged in or unplugged the app should be able to notify the user with either of the following messages: 

  • Structure Sensor Required
  • Please connect Structure Sensor
  • Sensor is initializing. Please wait...

☑️ “Calibrate Now” notification

  • If the app uses the color camera of the iOS device, it should detect a missing calibration. If this is the case, the calibration graphic should be shown.

  • When tapped, the graphic should use the SDK call to open the Calibrator app, or open the Calibrator app in the iOS store. The SDK function call for this is:

[STCaptureSession launchCalibratorAppOrGoToAppStore]

  • The app should always check calibration status on foreground events, as other apps may change calibration status.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us