【发布时间】:2025-11-21 14:40:02
【问题描述】:
我的要求照片库权限提示应该会在应用程序启动后立即弹出。我已经使用library permission 设置了我的 info.plist。 我已经尝试在各种生命周期函数中添加/删除 AppDelegate.swift 中的 requestAuthorization(_:) 函数。
当前输出:应用启动并停留在启动屏幕上。当我单击主页按钮时,应用程序最小化并出现权限提示(好像它在后台徘徊)。在允许许可后,一切都会按预期启动。
所需的输出:应用程序启动并且照片库权限提示出现在顶部(应该如此)。点击后一切照常运行。
如果描述性不够,我可以附上图片。也没有相关代码,因为我删除了requestAuthorization(_:) 函数(因为不需要)。任何提示都会有很长的路要走,因为我几天来一直在摆弄这个,试图解决这个问题。谢谢!
【问题讨论】:
-
这不是 iOS 中的默认行为。操作系统将弹出 - 仅一次 - 当您尝试访问照片库时请求权限,而不是之前。即使你设法找到了一种不同的方法来做到这一点——Apple 也批准了它——为什么要对你的应用做一些出乎意料的事情呢?从使用的角度来看,这似乎是灾难的秘诀。
-
是的,我正在应用提示仅出现一次的默认行为,但在后台@dfd。书上没有任何内容
-
好的,但正如所指出的,您是在后台进行的。把它分解成小块...从一个 basic 项目开始,它在视图控制器中显示一个简单的警报。 (是的,基本的。)现在开始自定义它...你能在
AppDelegate中展示它吗?在后台怎么样?如果是,那么回到基础并使其成为隐私弹出窗口......你可以让它在 aUIImagePickerController中工作吗?你的怎么样,假设你可能正在使用别的东西。在viewDidLoad怎么样?在那里的某个地方,您会发现操作系统没有按照您想要的方式运行。 -
@dfd 所以我尝试了很多东西,把它分解成裸露的骨头。结果是,当我在照片库视图控制器之前设置一个根视图控制器时,当导航到它时,提示会按预期在顶部弹出。但是当照片库视图控制器保留为根视图控制器时,提示不会显示在顶部:\
-
听起来这是一个“很好的练习”,但效果并不理想。听起来您也正在反对 iOS 行为。希望您能找到一种“最佳案例”方式来做您想做的事。
标签: ios swift info.plist ios-permissions