2016-06-13 61 views
0

我開發了一個框架,在某些時候會試圖請求設備的位置。據我瞭解,每個包含此框架的應用程序都必須添加NSLocationWhenInUseUsageDescription自己的Info.plist,以便在框架內實現位置使用。是否有可能在框架內定義NSLocationWhenInUseUsageDescription?

有沒有辦法提供一個NSLocationWhenInUseUsageDescription已經裏面的框架,所以我不必依靠應用程序來定義它?

添加是框架的Info.plist不起作用。在運行時修改App的Info.plist也是不可能的。

+0

我已經看到的所有使用CoreLocation的框架都包含開發人員將NSLocationWhenInUsageDescription字段本身作爲其文檔的一部分。恐怕沒有別的辦法了。 – ZeMoon

回答

1

不可能。

info.plist存在於您的Apps Bundle中,它是隻讀的。這使得在運行時無法修改它。

這使得有很大的意義,因爲太蘋果不希望應用程序請求X權限時,應用程序在審查和切換到Ÿ一旦應用程序是活的。 不讓框架直接請求權限也是有道理的。因爲您希望應用知道與用戶敏感數據相關的權限,第三方代碼在將其包含在代碼中之前需要知道。

所有的iOS框架都包含readMe文件中的必需權限,或者與框架一起在這樣的相關文檔中。

0

這是不可能的,因爲我知道...你必須解釋爲了使用你的框架,開發者必須包含NSLocationWhenInUseUsageDescription標籤。

相關問題