是否可以在框架内定义 NSLocationWhenInUseUsageDescription ?

Is it possible to define NSLocationWhenInUseUsageDescription within a Framework?

我开发了一个框架,它会在某个时候尝试请求设备的位置。据我了解,每个包含此框架的应用程序都必须添加一个 NSLocationWhenInUseUsageDescription 它自己的 Info.plist 以便在框架内使用位置.

有没有办法在框架中提供NSLocationWhenInUseUsageDescription,这样我就不必依赖应用程序来定义它了?

将 is 添加到框架的 Info.plist 不起作用。在运行时修改应用程序的 Info.plist 也是不可能的。

据我所知这是不可能的...您必须解释,为了使用您的框架,开发人员必须包含 NSLocationWhenInUseUsageDescription 标记。

不可能。

info.plist 存在于您的 Apps Bundle 中,它是只读的。这使得无法在运行时修改它。

这也很有意义,因为 Apple 不希望应用程序在审查时请求 X 权限并切换到 Y 应用程序上线后。 不让 Frameworks 直接请求权限也是有道理的。因为您希望应用知道与用户敏感数据相关的权限,所以在将第三方代码包含在您的代码中之前需要一段代码。

所有 iOS 框架都在 readMe 文件或此类相关文档中包含所需的权限以及框架。