We are happy to announce that we have just released Cordova iOS 7.0.0
! This is one of Cordova's supported platforms for building iOS applications.
Upgrade steps:
cordova platform remove ios
cordova platform add ios@7.0.0
New install steps:
cordova platform add ios@7.0.0
Release Highlights
Breaking Changes
-
Removal of
podspec
type fromframework
tagSince Cordova-iOS 5.0.0, the new
podspec
tag was added to improve the readability and support of features that CocoaPods provided.This release officially removes the old
type="podspec"
implementation of theframework
tag. If you maintain plugins and still using theframework
tag to load pod specs, it is recommended to migrate to the newer implementation.For implementation specifications, please see our Apache Cordova - Podspec docs.
-
Removed default
CONFIGURATION_BUILD_DIR
overridesThis will change the location of where the output files are generated.
build/emulator
will becomebuild/Debug-iphonesimulator
build/device
will becomebuild/Release-iphoneos
This will help ensure that debug and release files are never mixed up in the same directory and improves support for macOS
maccatalyst
builds. -
Update supported NodeJS versions
We have dropped support for NodeJS 14.x and increase the minimum NodeJS requirement to greater than or equal to 16.13.0.
-
Dropped Platform Binaries
We no longer supply or package platform-centric workflow binaries in the
cordova-ios
npm package or GitHub repository.Please use the
cordova
CLI tool for managing your Cordova project plugins and platform configuration. -
Rename
Images.xcassets
toAssets.xcassets
- Remove deprecated API
colorFromColorString
fromCDVViewController
- Remove the
CDVCommandDelegateImpl
class from public API
New Features
-
Added
LimitsNavigationsToAppBoundDomains
preference configurationThis preference allows you to use cookie authentication or browser APIs but requires the value to be set to
YES
. The default value isNO
. -
Support Apple Cloud Distribution Signing
Apple Cloud Distribution Signing allows using AppStore Connect API keys to automatically manage the distribution signing certificate and provisioning profiles. With Cordova-iOS 7.0.0, you can specify AppStore Connect API credentials in
build.json
or as command-line parameters to thecordova
tool.These options are
authenticationKeyPath
,authenticationKeyID
, andauthenticationKeyIssuerID
, and they work in combination with the existingautomaticProvisioning
option. -
Enable Mac Catalyst Support
Apps built with Cordova-iOS can now target macOS using the Catalyst runtime. This can be enabled by checking the "macOS - Catalyst" checkbox in the Xcode project settings and then building for the macOS target in Xcode.
Currently, building for Catalyst from Cordova's command-line tool is not supported.
Please report any issues you find on our Cordova-iOS GitHub issue tracker!
Change Log
Breaking:
- GH-1340 chore!: Remove
podspec
support fromframework
tag - GH-1310 feat!: Remove some Xcode build dir overrides
- GH-1305 dep!: bump all possible dependencies w/ node engine requirement update
>=16.13.0
semver@7.4.0
plist@3.0.6
fs-extra@11.1.1
cordova-common@5.0.0
nopt@7.1.0
which@3.0.0
@cordova/eslint-config@5.0.0
jasmine@4.6.0
rewire@6.0.0
- GH-1180 refactor!: drop platform binaries
- GH-1169 chore!: Rename
Images.xcassets
toAssets.xcassets
- GH-1161 chore!: Breaking API cleanups
- GH-1182 dep(dev)!: bump eslint w/ corrections
- GH-1181 dep!: use latest dependencies
nyc@^15.1.0
Features:
- GH-1249 feat: Add
LimitsNavigationsToAppBoundDomains
configuration key - GH-1320 feat: add
listTarget
api & revert original bin file location - GH-1266 feat(plugman): support
framework
link
attribute - GH-1276 feat: Support Apple Cloud Distribution signing
- GH-1210 feat: support extending export options
- GH-1251 feat: support multiple provisioning profiles
- GH-1186 feat(versions): print error messages, not error objects
- GH-1168 feat(catalyst): Enable Mac Catalyst support
- GH-1050 feat: add
CDVWebViewEngineConfigurationDelegate
- GH-1154 feat: Swift Package Manager support for CordovaLib
Fixes:
- GH-1354 fix: Various ObjC/template cleanups
- GH-1341 fix: Try updating
Podfile
deployment target on prepare - GH-1343 fix: Apply new Xcode flags consistently across test projects
- GH-1126 fix: replace of
podspec
variables inPodfile
- GH-1336 fix: Xcode 15 Beta
- GH-1337 fix: make the WebView the first responder when it loads
- GH-1326 fix: memory leak when removing the
CDVViewController
- GH-1312 fix(create): Ensure unix paths in Xcode project file
- GH-1315 fix(splashscreen): positioning after rotation
- GH-1295 fix(
CDVPlugin
): swift init - GH-1255 fix: import type definitions from obsolete
cordova-plugin-splashscreen
- GH-1170 fix(bin/create): set failing exit code on failure
- GH-1171 fix(spec/create): handle
createAndBuild
promises - GH-1140 fix: split xcode project location by env separator
Refactors:
- GH-1206 refactor: platform version logic
- GH-1204 refactor: move cordova minimum template
- GH-1203 refactor!: do not copy JS lib to platform project
- GH-1202 refactor: do not infer project root from script location
- GH-1201 refactor(create): convert main implementation to class
- GH-1200 refactor(create): sort functions in breadth-first call order
- GH-1199 refactor(create): further cleanup
- GH-1198 refactor(create): cleanup createProject
- GH-1196 refactor: move project template out of bin w/ code changes
- GH-1195 refactor(create): cleanup
copyTemplateFiles
- GH-1194 refactor(create)!: move apple_* binaries & cleanup
copyScripts
- GH-1193 refactor: cleanup create script
- GH-1190 refactor: replace superspawn with execa
- GH-1188 refactor: hide implementation of build & run
- GH-1189 refactor(run): code cleanup
- GH-1185 refactor(versions): DRY version binary code
- GH-1167 refactor: Api class
- GH-1158 refactor: replace
copy-www-build-step
script with build phase - GH-1032 refactor: update allow list name
- GH-1116 refactor(projectFile): drop dependency on underscore
Chores:
- chore(rat): add auto generated xcode files to ignore list
- GH-1339 chore: Remove unused
BackupWebStorage
preference - GH-1308 chore: remove long-unused
codeSignResourceRules
option - GH-1183 chore: remove unused and outdated
listStartedEmulators
- GH-1174 chore: remove stale coffeescript tests
- GH-1173 chore: Remove unused imports from template
- GH-1160 chore(swiftpm): Fix up CordovaLib Swift Package
- GH-1034 chore: remove more deprecated
UIWebView
things - GH-1145 chore:
npmrc
- GH-1129 chore: rebuild
package-lock.json
to address reported npm audit vulnerabilities - GH-1105 chore: add undeclared dependency
underscore
Others:
- GH-1197 build: build
cordova.js
during npm prepare - GH-1317 ci: add node 20.x
- GH-1307 ci: Drop NodeJS 14 tests for non-darwin jobs
- GH-1277 ci(workflow): update dependencies
- GH-1271 ci: remove Node 10-12 & add Node 16-18.
- GH-1237 dep: bump
simple-plist
from 1.3.0 to 1.3.1 - GH-1208 dep: bump
jasmine@^3.10.0
- GH-1187 test(version): merge two test suites into one
- GH-1184 test(create): further increase timeouts to avoid false negatives
- GH-1177 test(create): waste less time on name variants
- GH-1179 test: simpler killing of running simulators
- GH-1178 test(versions): increase test timeout when invoking pod
- GH-1176 test(create): increase test timeout
- GH-1133 doc:
README
improvements (cleaup, xcode debugging, etc)