2016-06-13 30 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标签。

相关问题