I’ve successfully resolved this exact issue for three clients after the 8.5 update. The problem involves all three focus areas you’ve identified. Here’s the complete solution:
Mobile App Republish:
The quick republish doesn’t regenerate the native iOS bridge bindings. You need to perform a FULL mobile application republish. In the Mobile Application Hub, select your app, go to Settings, and choose ‘Full Republish’ rather than ‘Quick Update’. This is critical because Creatio 8.5 changed how iOS handles the JavaScript-to-native bridge for process execution, and these bindings must be completely regenerated.
After republishing, you must also increment your app version number and deploy the updated IPA to your devices. The existing installed app won’t automatically pick up the bridge changes - users need to install the new version from your MDM or TestFlight.
Process Binding in Manifest:
Even though the binding looks correct, iOS in 8.5 requires explicit method declarations. Open your mobile application manifest (MobileApplicationManifest schema) and locate your custom action configuration. You need to add the iOS-specific bridge permission. In the manifest JSON, add this section under your action definition:
"Platforms": {
"iOS": {
"BridgePermissions": ["ExecuteBusinessProcess"],
"RequiresSecureContext": true
}
}
This explicitly authorizes the iOS WebKit engine to invoke process execution methods through the bridge.
Platform-Specific Behavior:
The iOS WebKit implementation in 8.5 enforces stricter async execution policies. Your workflow action likely executes synchronously, which Android tolerates but iOS now blocks. Modify your action handler to use the async bridge method:
Instead of direct process execution, wrap the call in a promise-based handler. In your mobile module schema, update the action handler to use Terrasoft.MobileExecutor.executeProcessAsync() instead of the synchronous version. This ensures iOS’s async security requirements are met.
Additionally, check your process parameter passing. iOS 17.3+ validates parameter serialization more strictly. If your workflow accepts complex objects as parameters, ensure they’re properly serialized to JSON before passing through the bridge. Use JSON.stringify() explicitly rather than relying on automatic serialization.
Finally, enable mobile app debugging on an iOS device and check the Safari Web Inspector console. You should see bridge method calls logged. If they’re being rejected, you’ll see specific error codes that indicate whether it’s a permission issue, serialization problem, or async policy violation.
Test thoroughly after implementing these changes, and remember that cached app data on devices might mask the fixes - have your field team fully uninstall and reinstall the app for testing.