[MOD-2296] iOS10: Ti.SafariDialog - tintColor on iOS 10 broken, new barColor property available

GitHub Issuen/a
Resolution Date2016-09-15T20:01:45.000+0000
Affected Version/sRelease 5.2.0
Fix Version/sRelease 6.0.0
ReporterChristy Thomas
AssigneeHans Knöchel


The tint color we set for SafariDialog no longer seems to be affecting the ti.safaridialog module. I found this in the ios 10 release notes: http://adcdownload.apple.com/Documentation/Xcode_GM_seed_SDK_Release_Notes/iOS_10_GM_Seed_Release_Notes.pdf • The SFSafariViewControllerConfiguration and -[SFSafariViewController initWithURL:configuration:] APIs have been removed, and - [SFSafariViewController initWithURL:entersReaderIfAvailable:] is no longer marked as deprecated. The preferredBarTintColor property has been moved to SFSafariViewController, along with a new property preferredControlTintColor which clients should use instead of setting tintColor directly on the view. Apps linked on iOS 10 or later will no longer forward their view's tint color to SFSafariViewController




  1. Christy Thomas 2016-09-09 Repo:
               var safariDialog = require('ti.safaridialog');
                   url : URL,
                   entersReaderIfAvailable : false,
                   // this doesn't work on iOS 10
                   tintColor : '#d8d8d8'
  2. Hans Knöchel 2016-09-11 New API's to be exposed: - preferredControlTintColor: Used for tintColor in iOS 10 - barTintColor: Exposed as a new API in iOS 10 - load event: Available since iOS 9, but not exposed, yet The changes are already implemented, but the PR needs to be shifted due to priority for fixing more critical iOS 10 issues first. Thanks! *EDIT*: Changed the fix-version to 6.0.0, but the module itself will be available next week already. This fix-version is just used for determinating the prepackaged version of the module.
  3. Hans Knöchel 2016-09-11 PR: https://github.com/appcelerator-modules/ti.safaridialog/pull/9 PR (titanium_mobile/master): https://github.com/appcelerator/titanium_mobile/pull/8344 PR (titanium_mobile(6_0_X): https://github.com/appcelerator/titanium_mobile/pull/8345
  4. Chee Kiat Ng 2016-09-11 6,0,0 backport is fine.
  5. Chee Kiat Ng 2016-09-15

    Steps to test

    1. *appc new --classic* 2. add ti.safaridialog module in tiapp.xml 3. use this sample code
       var safari = require('ti.safaridialog');
       var win = Ti.UI.createWindow({
           backgroundColor: 'white'
       var btn = Ti.UI.createButton({
           title: "Open safari dialog"
       btn.addEventListener("click", function() {
               title:"Hello World",
       safari.addEventListener("load", function(e) {
           var pageurl = e.url;
           var success = e.success;
           Ti.API.warn(pageurl + ' loaded with success value ' + success);
    4. *appc run -p ios* 5. Click button

    Expected result

    Safari Dialog shows with a red bar and a blue tint. and after webpage is loaded, you will see some information on console.
  6. Chee Kiat Ng 2016-09-15 CR and FT passed. APPROVED. PRs merged.
  7. Harry Bryant 2016-09-28 the new barColor property works as expected with iOS10, as well as tintColor with the latest ti.safaridialog module (1.1.0). However tintColor no longer works with iOS9, and a simple revert to ti.safaridialog (1.0.5) fixes that. Please see the matrix below: !screenshot-1.png! As the matrix shows that tintColor and the new barColor property for iOS10 have been implemented correctly, the ticket has been satisfied. *Closing* this ticket and created a new one in regards to iOS9: MOD-2300 Tested On: iPhone 6 Plus 10.0.1 Device iPhone 5S 9.3.5 Device & Simulator Mac OSX El Capitan 10.11.6 Ti SDK: 6.0.0.v20160927221257 Appc Studio: Appc NPM: 4.2.8-7 App CLI: 6.0.0-54 Xcode 8.0 Node v4.4.7

JSON Source