2015-05-06 76 views
0

下面的代碼能夠成功啓動我應用程序的設置編程(iOS版8)鈦:鈦:打開Privacy - >位置服務progamatically

var settingsURL = Ti.App.iOS.applicationOpenSettingsURL; 
if (Ti.Platform.canOpenURL(settingsURL)) { 
    Ti.Platform.openURL(settingsURL); 
} 

的問題是,如果用戶已關閉他們的定位服務在隱私頁面內不允許在應用的設置內更改此設置,要求用戶返回設置 - >隱私 - >定位服務。這對於用戶體驗來說是非常糟糕的。

我知道這是可能推出隱私 - 直接>位置服務,因爲許多應用程序做的,如:酒店今晚,四方,道場等

如何鈦做到這一點?提前致謝。

我的配置:SDK 3.5.1GA & iOS8。

回答

0

對於這個工作,你需要嘗試創建一個偵聽Titanium.Geolocation,是這樣的:

Titanium.Geolocation.addEventListener('location', locationCallback); 

請記住,您需要做的這甚至withou噸檢查是否有權限,這樣iOS會提示你打開位置服務使用警報對話框,因此你可以直接重定向到隱私 - >定位服務

0

不,沒有可用的API。 在iOS中8,你可以打開設置,但不是直接的位置設置 有一些URL方案打開設置的功能,例如

Ti.Platform.openURL('prefs:root=LOCATION_SERVICES'); 

但蘋果的iOS從5.1移除了這個。所以它不會在5.1和更高版本上工作。

+0

雖然這也是正確的(因爲你說沒有API)有一種方法可以做到這一點,我找到了答案。感謝您的回答! – LucasA

+0

@LucasA你能分享你的解決方案嗎? –

+0

@RodionMamin我做過了,請檢查下面的答案。這不適合你嗎? – LucasA