Make the app template project match a modern Xcode-created iOS app project.
Description
Restructures the Xcode project to more closely match what gets generated when you create a new Objective C iOS app with Xcode.
Uses a storyboard for the main ViewController rather than a xib file.
Renames Images.xcassets to Assets.xcassets.
Uses CordovaLib from Swift Package Manager rather than a subproject.
Enables Mac Catalyst support.
Adopts SceneDelegate API on iOS 13+.
Testing
Created an app with npx cordova platform add ~/Coding/cordova-ios.
Ran the app successfully on iOS 11, iOS 12, iOS 13, iOS 14, and iOS 15. Also ran the app successfully on macOS with Catalyst.
Unit tests pass.
This need lots of testing to make sure the SceneDelegate stuff isn't interfering and blocking stuff that used to fire on the AppDelegate. Might need to introduce a CDVSceneDelegate in CordovaLib to account for this.
Depends on https://github.com/apache/cordova-ios/pull/1158
Platforms affected
iOS
Motivation and Context
Make the app template project match a modern Xcode-created iOS app project.
Description
Testing
Created an app with
npx cordova platform add ~/Coding/cordova-ios
. Ran the app successfully on iOS 11, iOS 12, iOS 13, iOS 14, and iOS 15. Also ran the app successfully on macOS with Catalyst.Unit tests pass.
This need lots of testing to make sure the SceneDelegate stuff isn't interfering and blocking stuff that used to fire on the AppDelegate. Might need to introduce a CDVSceneDelegate in CordovaLib to account for this.