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_HEADER
value inbuild.xcconfig
, remove frompbxproj
- CB-10004 - Rename
CDVSystemSchemes
plugin name to something more appropriate - CB-10001 CB-10003 Handle
<allow-navigation>
and<allow-intent>
- CB-10025 -
CDVWhiteList
can't parseURIs
that 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
.gitattributes
to preventCRLF
line 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-deploy
on 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-sim
to 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_includes
to 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_BITCODE
toNO
inbuild.xcconfig
- CB-9698 - Add
rsync
error handling in ioscopy-www-build-step.js
- CB-9671 - Remove installation of
ios-sim
fromtravis.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-sim
as a node module, not a CLI utility - CB-9558 - Add blob: to
allowedSchemes
used 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.m
template change - CB-9638 -
Cordova/NSData+Base64.h
missing 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.h
into master - CB-9261 - localizations broken in Xcode template
- CB-9656 -
Xcode
can't findCDVViewController.h
when archiving inXcode 7.1
beta - CB-9254 -
update_cordova_subproject
command forcordova-ios 4.0.0-dev
results in a build error - CB-9636 - only load a
WebView
engine if the url to load passes the engine'scanLoadRequest
filter - CB-9610 - Fix warning in
cordova-ios
underXcode 7
- CB-9613 -
CDVWhitelist::matches
crashes when there is no hostname in a URL - CB-9485 - Use
absoluteString
method ofNSURL
- CB-8365 - Add
NSInteger
,NSUInteger
factory methods toCDVPluginResult
- CB-9266 -
cordova run
for 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 --list
does not show that you have an outdatedios-sim
- CB-8730 - Can't deploy to device
- CB-8788 - Drop
armv7s
from 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 --target
doesn't work - Incremented
ios-sim
version to 4.0.0 - Incremented
ios-deploy
version to 1.7.0 - Incremented
xcodebuild
version to 6.0.0 - CB-8895 - Change
CDVStartPageTests::testParametersInStartPage
into an async test - CB-8047 - WKWebView iOS8
wkwebview
/ local webserver plugin orientation issue - CB-8838 - Moved
commandQueue
push intonon-WK_WEBVIEW_BINDING
branch. (closes #136) - CB-8868 - ios 4.0.x cannot archive
- CB-7767 - Removed
NSData+Base64
files, updated unit tests. - CB-8710 -
cordova-ios
jasmine 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
CDVLocalStorage
fix inCDVViewController.m
(plus style fix-ups) - CB-8270 - Update
Objective-C
unit tests forJSON
serialization. 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
merges
folder 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
.pbxproj
to.xcconfig
- CB-5520 - Added
cordova/build*.xcconfig
support 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
CDVPlugin
support for getting items from plugin resource bundles - CB-8640 - Template-ize
CDVAvailability.h
for 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
IsAtLeastIosVersion
code (plus style fix-ups) - Update version to 4.0.0 in
CDVAvailability.h
- CB-8556 -
handleOpenURL
functionality 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
AppDelegate
code from template (includes uncrustify style fix-ups) - CB-8664 - Make
CDVPlugin
initializer private - CB-7753 - Remove
CDV_IsIPad
andCDV_IsIPhone5
macros inCDVAvailabiltyDeprecated.h
- CB-7000 - Remove deprecated
CDVPlugin
andCDVPluginResult
methods - Make webView property dynamic in
CDVViewController
andCDVPlugin
(fromCDVWebViewEngineProtocol
reference). Added scrollView category toUIView
for backwards compatibility reasons. - CB-8032 - Added a
typedef
for 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
mediaPlaybackAllowsAirPlay
inUIWebView
andWKWebView
- CB-7047 - Support
config.xml
preferences forWKWebView
- CB-7182 - Running mobile-spec in an iOS 8 project but using
UIWebView
results in an exception - CB-7047 - Support
config.xml
preferences forWKWebView
- CB-7182 - Running
mobile-spec
in an iOS 8 project but usingUIWebView
results in an exception - Split into Public and Private headers more clearly. Delete most deprectated symbols.