Back to Blog Home
← all posts

NativeScript 6 & 7, Xcode 11 & 12, and IOS 14 Compatibility

October 12, 2020 — by Technical Steering Committee (TSC)

Due to the recent release of NS (NativeScript) 7, then Apple's release of IOS 14 and Xcode 12; there has been a lot of confusion about what works with what.

It's helpful to understand some key aspects of NativeScript in general, how they relate to what:

  • CLI = The CLI is the tns, ns or nativescript command you run to create, build, run, and debug your app.
  • CORE = A JavaScript library. @nativescript/core (NS 7) or tns-core-modules (NS 6) - This provides a single JavaScript api to fundamental platform features for the supported runtimes, which right now are iOS and Android.
  • RUNTIME = Platform support wrapped up in a consumable npm package for use with NativeScript apps. @nativescript/ios (NS 7) or tns-ios (NS 6)

These are all fundamental aspects to NativeScript which allows you to build a working application. In most cases, when using NS 6 CORE it requires you to use the NS 6 RUNTIME. You should normally keep CORE and RUNTIMES with the same major version.

TL;DR

  • Using Xcode 12 - You need to use NS 7.0.10+ CLI
  • Using Xcode 11 - You need to use NS 6.8.x CLI
  • You can use NS 7 CLI to also build NS 6 Core/Runtime applications.
  • USe the NS iOS 6.5.2 runtime if using NativeScript 6 & Xcode 11, use 6.5.3 (or later) for Xcode 12.

Explanation

When Apple released Xcode 12, they broke multiple build related things, including things like simulator support. So if you are experiencing an issue running against a simulator you are probably using the wrong NS CLI for the version of Xcode you are using.

Most of the TSC members have already upgraded to Xcode 12 and are using it daily to build both NS 6 & NS 7 applications. If you are afraid to update; rest assured at least for NativeScript usage, Xcode 12.0.1 is solid.


Compatibility Chart

XCode 11 XCode 12
NS 6 6.8.x Not supported
NS 7 Not supported 7.0.10+

NativeScript App Chart

NS 6 CORE & RUNTIME NS 7 CORE & RUNTIME
NS 6 CLI tns-core-modules@6.5.20 & tns-ios@6.5.2 Not supported
NS 7 CLI tns-core-modules@6.5.20 & tns-ios@6.5.3 @nativescript/core@latest & @nativescript/ios@latest

NativeScript IOS 14 Compatibility

iOS 14 Supported Runtime
NS 6 tns-ios@6.5.2
NS 7 @nativescript/ios@latest

Video

Or if you prefer a video version, you can watch here.