Developer Blog

Connect IQ : Important Updates

03/15/17 @ 05:59 PM

There are a few things changing or rolling out in the next few weeks that we’d like all of you to be aware of.

fēnix® Chronos is now a fēnix 5s

If you have started development for the fēnix 5s, you will know while it shares the same screen shape and resolution with the fēnix 3 family, the fonts are bolder to be more readable with the smaller screen. If you take advantage of our resource family system, this causes problems when you create apps for the fēnix 3 family and the fēnix 5s; as now you potentially need to keep two resources

resources-round-218x218/layouts.xml
resources-fenix5s/layouts.xml

In a future fēnix Chronos update, currently in beta, the firmware will shift from being based on the fēnix 3 to being base on the fēnix 5s. For you Chronos readers out there – congratulations, you’re getting a software upgrade! For Connect IQ developers – congratulations, all of the fonts will change to match the 5s! This has an effect on existing fēnix Chronos apps, as well as new development. For example, now you need three resource directories:

resources-round-218x218/layouts.xml
resources-fenix5s/layouts.xml
resources-fenixchronos/layouts.xml

Clearly this is less than ideal. The Connect IQ team is working on an SDK update that will change the fēnix Chronos simulator to match the fēnix 5s fonts, as well as make it easier to support both devices. Our goal is to make adapting your app to the new fēnix 5s as smooth as possible.

Changes to makeWebRequest

Apple introduced App Transport Security (ATS) in iOS 9. From the iOS 9 release notes:

App Transport Security (ATS) enforces best practices in the secure connections between an app and its back end. ATS prevents accidental disclosure, provides secure default behavior, and is easy to adopt; it is also on by default in iOS 9 and OS X v10.11. You should adopt ATS as soon as possible, regardless of whether you’re creating a new app or updating an existing one.

If you’re developing a new app, you should use HTTPS exclusively. If you have an existing app, you should use HTTPS as much as you can right now, and create a plan for migrating the rest of your app as soon as possible. In addition, your communication through higher-level APIs needs to be encrypted using TLS version 1.2 with forward secrecy. If you try to make a connection that doesn’t follow this requirement, an error is thrown. If your app needs to make a request to an insecure domain, you have to specify this domain in your app’s Info.plist file.

Up until now, Connect Mobile has allowed makeWebRequest to communicate over HTTP and HTTPS because it defined the NSAllowsArbitraryLoads permission. However, Apple has a declaration that all iOS 10 apps should support ATS by the end of 2017.

In light of this, Connect IQ will require that calls to makeWebRequest communicate only with ATS compliant servers.  In a future update the simulator is now going to check to make sure that all requests are talking to properly secured servers, and we will be removing NSArbitraryContent in an upcoming version of Connect Mobile.

App Store Update

A number of issues causing the app store mistakenly prevent users from downloading an app because it believes their firmware is out of date have been resolved. As long as users sync their device after they complete a software update they should be able to download the latest content. If you continue to see issues, please let us know on the developer forum.

Categories: Connect IQ SDK