Web Interface
In addition to the CLI, Norrix provides web forms for initiating builds, store submissions, and OTA updates directly from your browser.
Overview
The web interface mirrors the CLI functionality, allowing you to:
- Build: Compile iOS, Android, or visionOS apps in the cloud
- Submit: Push builds to the App Store or Google Play
- Update: Publish over-the-air updates to deployed apps
When to Use Web vs CLI
| Use Case | Web Interface | CLI |
|---|---|---|
| Quick one-off builds | ✅ Great | ✅ Good |
| CI/CD automation | ❌ Not suitable | ✅ Best |
| No local dev environment | ✅ Perfect | ❌ Requires setup |
| Scripted workflows | ❌ Manual only | ✅ Scriptable |
| Team members without CLI | ✅ Accessible | ❌ Needs install |
Build Form
Navigate to /build in the Norrix dashboard to access the build form.
Required Steps
-
Prepare your project
- Zip your NativeScript project folder locally
- Ensure all dependencies are included in
package.json
-
Upload project zip
- Drag and drop or browse to select your
.zipfile - Maximum file size: 500MB
- Files upload directly to S3 with progress tracking
- Drag and drop or browse to select your
-
Configure build settings
| Field | Description |
|---|---|
| Platform | iOS, Android, or visionOS |
| Build Type | Debug or Release |
| Distribution Type | (iOS only) App Store, Ad Hoc, or Enterprise |
| Version | App version (e.g., 1.0.0) |
| Build Number | Optional. Auto-incremented if omitted |
| Nx Project | (Monorepo only) Project name within workspace |
| Configuration | (Monorepo only) Deployment target like prod, stg |
iOS Signing Credentials
For iOS builds, choose one of two signing modes:
Manual Certificates:
- Team ID
- .p12 certificate file + password
- .mobileprovision profile
App Store Connect API:
- ASC Key ID
- ASC Issuer ID
- .p8 private key file
Android Signing Credentials
For release Android builds:
- Keystore file (.keystore or .jks)
- Keystore password
- Key alias
- Key password
- Package type (APK or AAB)
Submit Form
Navigate to /submit in the Norrix dashboard to submit builds to app stores.
Required Steps
-
Select a build
- Choose from your recent successful builds
- The platform is auto-detected from the build
-
Configure submission
| Field | Description |
|---|---|
| Release Track | Production, Beta, Alpha, or Internal |
| Release Notes | Optional changelog for the submission |
- Provide store credentials
For iOS (App Store Connect):
- ASC Key ID
- ASC Issuer ID
- .p8 private key file
For Android (Google Play):
- Service Account JSON file
Update Form
Navigate to /update in the Norrix dashboard to publish OTA updates.
Required Steps
-
Prepare your update bundle
- Build your JavaScript bundle locally using NativeScript CLI
- Zip the compiled bundle files
-
Upload bundle zip
- Drag and drop or browse to select your
.zipfile - Files upload directly to S3 with progress tracking
- Drag and drop or browse to select your
-
Configure update settings
| Field | Description |
|---|---|
| App ID | Your app’s bundle identifier |
| Platform | iOS, Android, or visionOS |
| Version | Update version (e.g., 1.0.1) |
| Build Number | Optional. Defaults to latest |
| Release Notes | Optional changelog for users |
| Nx Project | (Monorepo only) Project name |
| Configuration | (Monorepo only) Deployment target |
File Upload Details
All file uploads use presigned S3 URLs for security and performance:
- Files go directly to S3, not through the API server
- Large uploads won’t timeout
- Progress tracking shows upload percentage
- Files are automatically cleaned up after processing
Supported File Types
| Upload Type | Accepted Formats | Max Size |
|---|---|---|
| Project Zip | .zip | 500 MB |
| Update Bundle | .zip | 100 MB |
| p12 Certificate | .p12 | 10 MB |
| Provisioning Profile | .mobileprovision | 1 MB |
| ASC Private Key | .p8 | 1 MB |
| Android Keystore | .keystore, .jks | 10 MB |
| Service Account | .json | 1 MB |
Monitoring Build Progress
After submitting a build, submit, or update:
- You’ll receive a job ID
- Navigate to your dashboard to monitor progress
- Status updates show:
scheduled→processing→successorfailed - Download artifacts when complete (for builds)
Troubleshooting
Upload fails with timeout
- Check your internet connection
- Try a smaller zip file
- Ensure the file isn’t corrupted
Build fails immediately
- Verify your zip contains a valid NativeScript project
- Check that
package.jsonis at the root of the zip - Ensure all required signing credentials are provided
Credentials rejected
- Double-check Team ID matches your Apple Developer account
- Verify p12 password is correct
- Ensure provisioning profile matches bundle ID and Team ID
Android signing fails
- Confirm keystore password and key password are correct
- Verify key alias exists in the keystore
- Check that the keystore isn’t corrupted
Next Steps
- Build Commands (CLI): Full CLI documentation
- Submit Commands (CLI): Store submission via CLI
- Update Commands (CLI): OTA updates via CLI
- OTA Compatibility: What can be updated OTA