Overview
This guide provides step-by-step instructions for migrating your Despia application from version 2 to version 3. The migration process differs significantly between Android and iOS platforms.
Platform-Specific Requirements
Android Platform
No action required! Simply rebuild your application with automated publishing. Despia will handle everything automatically.
iOS Platform
iOS applications require manual configuration updates in your Apple Developer account. Follow the detailed steps below.
iOS Migration Process
Prerequisites
-
An existing Despia application successfully published with version 2
-
Access to your Apple Developer account
-
Understanding that Despia automatically uses the latest version when building
Update Core App Bundle ID Capabilities
-
Navigate to your Apple Developer account
-
Go to Identifiers → Find your app's core bundle ID
-
Enable/verify the following capabilities:
-
App Attest
-
App Groups
-
Associated Domains (critical!)
-
iCloud (with CloudKit support - requires Xcode 6)
-
Push Notifications (Broadcast capability)
-
-
Save changes and confirm modifications
Understanding the New Structure
Despia V3 introduces a modular approach with four new packages, each requiring:
-
A Bundle ID
-
An App Group
-
Proper linking between them
The four packages are:
-
Push/OneSignal Target - For push notifications
-
App Clip Target - For app clips (required even if unused)
-
Share Target - For sharing functionality
-
Widget Target - For smart widgets
Configure Push/OneSignal Target
Create Bundle ID:
-
Go to Identifiers → + → App ID → Continue
-
Select type: App
-
Description:
OneSignal Bundle ID for [Your App Name]
-
Bundle ID: Copy from Despia editor's "Push Bundle ID"
-
Enable capabilities:
-
App Groups
-
Push Notifications (Broadcast capability)
-
-
Register the identifier
Create App Group:
-
Go to Identifiers → + → App Groups → Continue
-
Description:
App Group for OneSignal for [Your App Name]
-
Identifier: Copy from Despia editor's "Push App Group"
-
Register the app group
Link Bundle ID to App Group:
-
Find the OneSignal Bundle ID you just created
-
Click App Groups → Configure
-
Search (Cmd+F) for your app name
-
Select the OneSignal app group
-
Save and confirm
Link to Core Bundle ID:
-
Go to your core app bundle ID
-
Click App Groups → Configure
-
Add the OneSignal app group
-
Save and confirm
Configure App Clip Target
Create Bundle ID:
-
Go to Identifiers → + → App ID → Continue
-
Select type: App Clip (not App!)
-
Parent App ID: Select your core bundle ID
-
Product Name:
Clip
(must be exactly "Clip" with capital C) -
Description:
App Clip Bundle ID for [Your App Name]
-
Enable capabilities:
-
App Groups
-
Associated Domains (mandatory!)
-
Push Notifications (optional)
-
-
Register the identifier
Create App Group:
-
Create new App Group identifier
-
Description:
App Group for App Clip for [Your App Name]
-
Identifier: Copy from Despia editor's "Clip App Group"
-
Register the app group
Link Bundle ID to App Group:
-
Configure the App Clip Bundle ID with its app group
-
Link the app group to your core bundle ID
Configure Share Target
Create Bundle ID:
-
Go to Identifiers → + → App ID → Continue
-
Select type: App
-
Description:
Share Target Bundle ID for [Your App Name]
-
Bundle ID: Copy from Despia editor's "Share Bundle ID"
-
Enable capability: App Groups
-
Register the identifier
Create App Group:
-
Create new App Group identifier
-
Description:
App Group for Share Target for [Your App Name]
-
Identifier: Copy from Despia editor's "Share App Group"
-
Register and link as before
Configure Widget Target
Create Bundle ID:
-
Go to Identifiers → + → App ID → Continue
-
Select type: App
-
Description:
Widget Bundle ID for [Your App Name]
-
Bundle ID: Copy from Despia editor's "Widget Bundle ID"
-
Enable capability: App Groups
-
Register the identifier
Create App Group:
-
Create new App Group identifier
-
Description:
App Group for Widget for [Your App Name]
-
Identifier: Copy from Despia editor's "Widget App Group"
-
Register and link as before
Verification Checklist
Verify each component is properly configured:
For Each Target (OneSignal, App Clip, Share, Widget):
-
Bundle ID created with correct capabilities
-
App Group created
-
Bundle ID linked to its corresponding App Group
-
App Group linked to Core Bundle ID
Core Bundle ID Should Have:
-
All four App Groups linked
-
All required capabilities enabled
Clean Up Provisioning Profiles
-
Go to Provisioning Profiles in Apple Developer
-
Search for your app name
-
Delete ALL provisioning profiles for your app
-
Verify search returns "No results found"
Rebuild Your Application
-
Return to Despia
-
Click Publish App
-
Despia will:
-
Use M2 build resources
-
Open Xcode and load your project
-
Compile over 2,100 native code files
-
Automatically sign with your Apple Developer account
-
Publish as draft to App Store
-
-
Wait for build completion (can take up to 1 hour)
Post-Migration Benefits
Over-the-Air Updates
-
Code changes publish instantly without App Store review
-
Update paywalls, features, and content remotely
-
100% compliant with Apple guidelines
-
Users receive updates when they next open the app
New V3 Features
-
Modular architecture (future-proof)
-
Enhanced native functionalities
-
Support for app clips, widgets, and advanced features
-
Improved build and deployment process
Troubleshooting
Common Issues:
-
Build Failures: Usually caused by incorrect Bundle ID/App Group linking
-
Missing Capabilities: Double-check all required capabilities are enabled
-
Wrong App Group Selection: Ensure each target links to its corresponding group
Getting Help
-
Contact Despia customer support (24/7 availability)
-
Team will help ensure smooth migration
-
Support available for any migration-related questions
Important Notes
-
This is a one-time migration process
-
The new modular structure is designed to be future-proof
-
Android developers don't need to perform these steps
-
Always use exact naming conventions (e.g., "Clip" with capital C)
-
All four targets must be configured even if not all features are used
Summary
While the iOS migration process requires manual configuration, it provides a robust, modular foundation for your application. The benefits include instant over-the-air updates and access to advanced native features. Once completed, you'll have a future-proof setup that won't require similar migrations for new features.
For additional support or questions, please contact our support team at support@despia.com