We are happy to announce that Cordova iOS 4.0.0 has been released.
This is a major release, and deprecated APIs have been removed. Some 3rd party plugins might require updates before they are compatible. This release adds first-class support for pluggable webviews - namely we now support WKWebView -- a bundled modern WebView for iOS!
The platform now supports Asset Catalogs for splashscreens and icons -- this is all transparent to you when using the <splash> and <icon> tags in config.xml.
ios-sim is bundled with the platform now, you will not need to install this separately anymore. However for ios-deploy you will need to update your version to the latest.
The minimum deployment target has been updated to iOS 8.0. This means that this platform release has only been tested on iOS 8 devices and greater only and will only support those iOS versions.
cordova-ios@4.0.0 will be the default iOS version in the next version of cordova. If you just can't wait though, you can try it out now:
cd my_project
cordova platform update ios@4.0.0
# To install the WKWebView engine (optional):
cordova plugin add cordova-plugin-wkwebview-engine
We are in the process of releasing the cordova-plugin-wkwebview-engine plugin to npm. If you decide to update to cordova-ios@4.0.0 before we release this plugin, please install the plugin via git for now.
cordova plugin add https://github.com/apache/cordova-plugin-wkwebview-engine.git#1.0.0
Note that the cordova-plugin-wkwebview-engine plugin has some limitations versus the default UIWebView, please consult the README for more details.
In addition to the <access> tag, there is support for the new <allow-intent> and <allow-navigation> tags, documented here. Note that you do not need cordova-plugin-whitelist installed for cordova-ios-4.0.0.
cordova will convert <access> and <allow-navigation> tags to the appropriate Application Transport Security (ATS) directives which are new in iOS 9. <access> and <allow-navigation> tags also support two new attributes: minimum-tls-version and requires-forward-secrecy.
To upgrade:
npm install -g cordova
cd my_project
cordova platform update ios@4.0.0
To add it explicitly:
cordova platform add ios@4.0.0
What's new in iOS platform
- CB-10136 - error in 
cordova prepare(Platform API) - CB-10048 - clobbering of 
<access>tags to ATS directives CB-10057 - removing<access>tag does not remove ATS entry - CB-10106 - added bridge proxy
 - CB-9827 - fixed version file to be requireable
 - CB-9827 - Implement and expose PlatformApi for iOS
 - CB-10106 - iOS bridges need to take into account bridge changes
 - CB-10072 - Add 
SWIFT\_OBJC\_BRIDGING_HEADERvalue inbuild.xcconfig, remove frompbxproj - CB-10004 - Rename 
CDVSystemSchemesplugin name to something more appropriate - CB-10001 CB-10003 Handle 
<allow-navigation>and<allow-intent> - CB-10025 - 
CDVWhiteListcan't parseURIsthat don't have double slashes after the scheme - CB-9972 - Remove iOS whitelist
 - CB-9883 CB-9948 Update 
cordova.js - CB-9948 - Remove deprecated command format from 
exec.js - CB-9883 - Remove unused iOS bridges
 - CB-9836 - Add 
.gitattributesto preventCRLFline endings in repos - CB-9787 - 
[CDVStartPageTest testParametersInStartPage]unit-test failure - CB-9917 - refix. Order matters in 
.gitattributes - CB-9917 - Failure: 
cordova platform add https://github.com/apache/cordova-ios.git#tagOrBranch - CB-9870 - updated hello world template
 - CB-9609 - Cordova run opts don't make it through to 
ios-deployon real device - CB-9893 - Update API changes doc with more upgrade examples
 - CB-9638 - Cordova/NSData+Base64.h missing from cordova-ios - updated API Changes doc
 - CB-9836 Add .gitattributes to prevent CRLF line endings in repos
 - CB-9685 - A fix for the magnifying glass popping up on iOS9 when longpressing the webview.
 - CB-9800 - Fixing contribute link.
 - Updated bundled 
ios-simto 5.0.3 - CB-9500 - Added no sign argument to iOS build
 - CB-9787 - 
[CDVStartPageTest testParametersInStartPage]unit-test failure (improved fix) - CB-9754 - Icon and launch image warnings
 - CB-9719 - set 
allow_non_modular_includesto yes - CB-9685 - A fix for the magnifying glass popping up on iOS9 when longpressing the webview
 - CB-9552 - Updating linked platform removes original files
 - CB-6992 - can't deploy app if display name contains unicode characters
 - CB-9726 - Update minimum Deployment Target to iOS 8.0
 - CB-9679 - Resource rules issue with iOS 9
 - CB-9721 - Set 
ENABLE_BITCODEtoNOinbuild.xcconfig - CB-9698 - Add 
rsyncerror handling in ioscopy-www-build-step.js - CB-9671 - Remove installation of 
ios-simfromtravis.yml - CB-9693 - Fix www copy with spaces in project name
 - CB-9690 - Can't submit iPad apps to the App Store for iOS 9
 - CB-9328 - Use 
ios-simas a node module, not a CLI utility - CB-9558 - Add blob: to 
allowedSchemesused byCDVUIWebViewDelegate::shouldLoadRequest(closes #163) - CB-9558 - Blob schemes won't load in iframes
 - CB-9667 - create tests failing in 
cordova-ios 4.x(related to CB-8789 pull request that didn't test for projects with spaces in the name) - CB-9650 - Update API compatibility doc in cordova-ios for 
AppDelegate.mtemplate change - CB-9638 - 
Cordova/NSData+Base64.hmissing fromcordova-ios 4.x - CB-8789 - Support Asset Catalog for App icons and splashscreens
 - CB-8789 - Asset Catalog support
 - CB-9642 - Integrate 3.9.0, 3.9.1, 3.9.2 version updates in 
CDVAvailability.hinto master - CB-9261 - localizations broken in Xcode template
 - CB-9656 - 
Xcodecan't findCDVViewController.hwhen archiving inXcode 7.1beta - CB-9254 - 
update_cordova_subprojectcommand forcordova-ios 4.0.0-devresults in a build error - CB-9636 - only load a 
WebViewengine if the url to load passes the engine'scanLoadRequestfilter - CB-9610 - Fix warning in 
cordova-iosunderXcode 7 - CB-9613 - 
CDVWhitelist::matchescrashes when there is no hostname in a URL - CB-9485 - Use 
absoluteStringmethod ofNSURL - CB-8365 - Add 
NSInteger,NSUIntegerfactory methods toCDVPluginResult - CB-9266 - 
cordova runfor iOS does not see non-running emulators - CB-9462 - iOS 3.9.0 breaks npm link modules
 - CB-9453 - Updating to iOS@3.9.0 not building
 - CB-9273 - Copy www build phase node is not found
 - CB-9266 - changed target default to iPhone-5 in the interim
 - CB-8197 - Switch to nodejs for ios platform scripts
 - CB-9203 - iOS unit-tests should use tmp instead of same folder
 - CB-8468 - Application freezes if breakpoint hits JavaScript callback invoked from native
 - CB-8812 - moved system schemes handler into its own plugin (
CDVSystemSchemes) - CB-8812 - protocol hander raises error on second firing
 - CB-9050 - 
cordova run --listdoes not show that you have an outdatedios-sim - CB-8730 - Can't deploy to device
 - CB-8788 - Drop 
armv7sfrom default iOS Cordova build to align withXcode 6 - CB-9046 - 
cordova run ios --emulator --target"iPhone-5, 7.1" (target with runtime) does not work - CB-8906 - 
cordova run ios --targetdoesn't work - Incremented 
ios-simversion to 4.0.0 - Incremented 
ios-deployversion to 1.7.0 - Incremented 
xcodebuildversion to 6.0.0 - CB-8895 - Change 
CDVStartPageTests::testParametersInStartPageinto an async test - CB-8047 - WKWebView iOS8 
wkwebview/ local webserver plugin orientation issue - CB-8838 - Moved 
commandQueuepush intonon-WK_WEBVIEW_BINDINGbranch. (closes #136) - CB-8868 - ios 4.0.x cannot archive
 - CB-7767 - Removed 
NSData+Base64files, updated unit tests. - CB-8710 - 
cordova-iosjasmine tests do not clean up build products, tests can only be run once - CB-7767 - Remove usage of 
NSData+Base64 - CB-8709 - Remove usage of obsolete 
CDVLocalStoragefix inCDVViewController.m(plus style fix-ups) - CB-8270 - Update 
Objective-Cunit tests forJSONserialization. Cleaned up unit test workspace as well. - CB-8690 - Exported headers were not in Public section, but Project. Moved.
 - CB-8690 - Group files into folders in 
CordovaLib/Classes - CB-8697 - Remove obsolete 
mergesfolder reference in default template(s) - CB-5520 - Remove all frameworks specified in the templates. Rely on implicit Clang Module loading.
 - CB-5520 - Removed most Build Settings from 
.pbxprojto.xcconfig - CB-5520 - Added 
cordova/build*.xcconfigsupport in the default template (IDE use) - CB-8678 - Mismatched case typo in startup plugin name in 
config.xml - CB-7428 - Add bridging header. Make sure all deployment targets are 7.0 Add swift runtime to search path (closes #133)
 - CB-7826 - Add 
CDVPluginsupport for getting items from plugin resource bundles - CB-8640 - Template-ize 
CDVAvailability.hfor coho release tool - CB-8678 - Included core plugins should be added through configuration, not code
 - CB-8643 - Drop iOS 6 support, minimum iOS 7
 - CB-8677 - Remove conditional 
IsAtLeastIosVersioncode (plus style fix-ups) - Update version to 4.0.0 in 
CDVAvailability.h - CB-8556 - 
handleOpenURLfunctionality to be removed to a plugin - CB-8474 - Remove local/remote push notification delegates from 
CDVAppDelegate - CB-8464 - Remove non-ARC code in 
AppDelegate - CB-8473 - Remove 
AppDelegatecode from template (includes uncrustify style fix-ups) - CB-8664 - Make 
CDVPlugininitializer private - CB-7753 - Remove 
CDV_IsIPadandCDV_IsIPhone5macros inCDVAvailabiltyDeprecated.h - CB-7000 - Remove deprecated 
CDVPluginandCDVPluginResultmethods - Make webView property dynamic in 
CDVViewControllerandCDVPlugin(fromCDVWebViewEngineProtocolreference). Added scrollView category toUIViewfor backwards compatibility reasons. - CB-8032 - Added a 
typedeffor block definition. - CB-8032 - Add new property in 
CDVCommandDelegate(urlTransformer), plus style fixups. - CB-6884 - Support new Cordova bridge under iOS 8 
WKWebView(typo fix) - CB-7184 - Implement support for 
mediaPlaybackAllowsAirPlayinUIWebViewandWKWebView - CB-7047 - Support 
config.xmlpreferences forWKWebView - CB-7182 - Running mobile-spec in an iOS 8 project but using 
UIWebViewresults in an exception - CB-7047 - Support 
config.xmlpreferences forWKWebView - CB-7182 - Running 
mobile-specin an iOS 8 project but usingUIWebViewresults in an exception - Split into Public and Private headers more clearly. Delete most deprectated symbols.
 
