-
Notifications
You must be signed in to change notification settings - Fork 1
Mobile: iOS
Arno Hartholt edited this page Jan 15, 2026
·
1 revision
iOS app development and deployment is tightly controlled by Apple. It requires a Mac, Xcode, and an Apple developer account / membership. The free membership allows local, on-device testing. Broader testing requires the paid membership, which grants access to the App Store Connect suite of services, including deployment through the TestFlight app.
With these restrictions in place, we are unable to provide an iOS version of the VHToolkit sample through GitHub. Please contact us directly if you are interested in testing out the iOS version.
The iOS version of the VHToolkit uses the VHUnityURP Unity project.
- Recent iPhone
- Mac with Xcode
- Apple developer account / membership
- TestFlight app installed on your phone
- (one-time) Create a new Unity Cloud Build Project
- Unity Dashboard
- Under Projects section, click New
- Under Gaming Services, click DevOps
- (one-time) Create a new Build Configuration
- Under DevOps, click Configurations
- Click Target setup
- Fill out all fields as required for your project
- Under Credentials, you need two files.
- *.mobileprovision which is specific for the app you are developing. Generated on the Apple Developer Portal.
- *.p12 which is generated by you from the macOS machine you imported the Distribution Certificate on. Distribution Certificate is generated on the Apple Developer Portal.
- Ref: https://docs.unity.com/ugs/en-us/manual/devops/manual/building-for-ios
- Tips
- Under Settings, Caching tab, choose ‘Cache entire project’ for better build times.
- Under Builder configuration, choose Premium builder for better build times.
- Enable ‘Auto-build’ so that it triggers a build after each commit.
- (one-time) Create Application on Apple App Store Connect
- https://appstoreconnect.apple.com
- Click Apps
- Click + for ‘New App’
- Create a build using Unity Cloud DevOps
- Under Build history for the project, click Build
- Submit build to App Store / TestFlight
- Unity DevOps
- When build is complete, click the ‘...’ button on the completed build
- Click ‘Download .IPA file’
- Transporter
- On macOS machine, open Transporter app
- Click ‘+’ and choose the .IPA file downloaded
- Click Next through dialogs until the App uploads and is submitted.
- When finished, It will be available on App Store Connect, under the TestFlight tab.
- Unity DevOps
- Unity
- Open the VHUnityURP Unity project on macOS machine
- File -> Build Settings
- Click iOS and then click Switch Platform
- Click Build and choose an empty folder
- When build finishes, navigate to target folder
- Open Info.plist
- Ensure that CFBundleVersion is set to the appropriate value (svn revision number)
- Xcode
- Open Unity-iPhone.xcodeproj in Xcode
- Select the Project, Select General tab, under Build, enter the same value as CFBundleVersion above
- Create a new Build Target for the Share Extension
- Click the ‘+’ for ‘Add a Target’
- Choose ‘Share Extension’
- For ‘Product Name’ enter ShareSheet
- Click Finish
- Dialog might appear ‘Activate “ShareSheet” scheme?’
- Choose Activate
- Choose the Unity-iPhone target along the top bar.
- Enter Bundle Identifier
- Choose ShareSheet target
- Under Signing & Capabilities tab
- Under Signing section
- For Bundle Identifier, enter ‘edu.usc.ict.vhtoolkit.sharesheet’
- Enter Credentials
- Choose Unity-iPhone target
- Under Signing & Capabilities tab
- Turn off ‘Automatically manage signing
- Under Signing, iOS, choose the Provisioning Profile created under the Unity Cloud Build steps in the section above
- Repeat the same steps for the ShareSheet target
- Choose Unity-iPhone target
- Add App Groups
- Choose Unity-iPhone target
- Under Signing & Capabilities tab
- Click ‘+ Capability’
- Choose ‘App Groups’
- Select the checkbox next to ‘group.com.vhtoolkit.group’
- Repeat the same steps for the ShareSheet target
- Choose Unity-iPhone target
- Modify ShareSheet code
- Under ShareSheet folder
- Right-click ShareViewController.h, Open As -> Source Code
- In the Unity project, find ShareSheet\ShareViewController.h
- Copy / Paste the contents of that file into the Xcode version
- Repeat this process for all files:
- ShareSheet\Base.lproj\MainInterface.storyboard
- ShareSheet\Info.plist
- ShareSheet\ShareViewController.h
- ShareSheet\ShareViewController.m
- Build for App Store submission
- Product -> Archive
- When finished, Organizer window will appear
- Choose the app, ensure the Version is correct
- Click Distribute App
- When finished, it will be available on App Store Connect, under the TestFlight tab
- Install the VHToolkit from Testflight
- Find and run the VHToolkit sample app from your phone
- Tap any of the Debug menu and UI elements as discussed in the Getting Started section
- The mobile app works best in Landscape mode; Portrait mode may have squished or rotated UI elements
- Not all (AI) services may be available