Disponibile Cordova iOS 4.0.0 con compatibilità per WKWebView

Cordova iOS 4.0.0: Disponibile finalmente la major release di Cordova per iOS. Alcuni plugin potrebbero necessitare di aggiornamento per avere la completa compatibilità. Aggiunta la compatibilità per WKWebView.

La piattaforma ora supporta l’Asset Catalogs per splashscreen ed icone, ios-sim è ora integrato nella piattaforma, quindi non è necessario installarlo a parte. ios-deploy invece necessita di essere aggiornato all’ultima versione.

La versione di iOS minima è la 8.0.

cordova-ios@4.0.0 sarà la versione di default nelle prossime versioni di cordova, ma se non vuoi aspettare, puoi aggiornare il tuo progetto manualmente.
cd my_project
cordova platform update ios@4.0.0
# To install the WKWebView engine (optional):
cordova plugin add cordova-plugin-wkwebview-engine

cordova-plugin-wkwebview-engine non è ancora presente nel repository ufficiale di npm, quindi è necessario installarlo tramite git
cordova plugin add https://github.com/apache/cordova-plugin-wkwebview-engine.git#1.0.0

cordova-plugin-wkwebview-engine ha alcune limitazioni, leggi il README.

E’ stato aggiunto anche il supporto per i nuovi tag e , documentati qui. Non è più necessario avere cordova-plugin-whitelist installato per cordova-ios-4.0.0.

Per aggiornare:
npm install -g cordova
cd my_project
cordova platform update ios@4.0.0

Per aggiungerlo:
cordova platform add ios@4.0.0

Ecco il changelog completo

  • 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-10106iOS bridges need to take into account bridge changes
  • CB-10072 – Add SWIFT\_OBJC\_BRIDGING_HEADER value in build.xcconfig, remove from pbxproj
  • CB-10004 – Rename CDVSystemSchemes plugin name to something more appropriate
  • CB-10001 CB-10003 Handle <allow-navigation> and <allow-intent>
  • CB-10025CDVWhiteList can’t parse URIs 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 prevent CRLF 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 to NO in build.xcconfig
  • CB-9698 – Add rsync error handling in ios copy-www-build-step.js
  • CB-9671 – Remove installation of ios-sim from travis.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 by CDVUIWebViewDelegate::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-9638Cordova/NSData+Base64.h missing from cordova-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-9656Xcode can’t find CDVViewController.h when archiving in Xcode 7.1 beta
  • CB-9254update_cordova_subproject command for cordova-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’s canLoadRequest filter
  • CB-9610 – Fix warning in cordova-ios under Xcode 7
  • CB-9613CDVWhitelist::matches crashes when there is no hostname in a URL
  • CB-9485 – Use absoluteString method of NSURL
  • CB-8365 – Add NSInteger, NSUInteger factory methods to CDVPluginResult
  • CB-9266cordova run for iOS does not see non-running emulators
  • CB-9462iOS 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-9203iOS 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-9050cordova run --list does not show that you have an outdated ios-sim
  • CB-8730 – Can’t deploy to device
  • CB-8788 – Drop armv7s from default iOS Cordova build to align with Xcode 6
  • CB-9046cordova run ios --emulator --target “iPhone-5, 7.1” (target with runtime) does not work
  • CB-8906cordova 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-8047WKWebView iOS8 wkwebview / local webserver plugin orientation issue
  • CB-8838 – Moved commandQueue push into non-WK_WEBVIEW_BINDING branch. (closes #136)
  • CB-8868ios 4.0.x cannot archive
  • CB-7767 – Removed NSData+Base64 files, updated unit tests.
  • CB-8710cordova-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 in CDVViewController.m (plus style fix-ups)
  • CB-8270 – Update Objective-C unit tests for JSON 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-8556handleOpenURL 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 and CDV_IsIPhone5 macros in CDVAvailabiltyDeprecated.h
  • CB-7000 – Remove deprecated CDVPlugin and CDVPluginResult methods
  • Make webView property dynamic in CDVViewController and CDVPlugin (from CDVWebViewEngineProtocol reference). Added scrollView category to UIView 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 in UIWebView and WKWebView
  • CB-7047 – Support config.xml preferences for WKWebView
  • CB-7182 – Running mobile-spec in an iOS 8 project but using UIWebView results in an exception
  • CB-7047 – Support config.xml preferences for WKWebView
  • CB-7182 – Running mobile-spec in an iOS 8 project but using UIWebView results in an exception
  • Split into Public and Private headers more clearly. Delete most deprectated symbols.