从 WKWebView 打开照片库或相机?
Posted
技术标签:
【中文标题】从 WKWebView 打开照片库或相机?【英文标题】:Open photos library or camera from WKWebView? 【发布时间】:2019-11-21 06:18:58 【问题描述】:我有一个包含 WKWebView
的应用程序,并且在 web 视图中,我们具有从照片库附加图像的功能。当从 Safari 或 Chrome 打开页面但在我的应用程序照片选项中未打开时,此操作正常。
我已经搜索了几个答案,但他们告诉我要注入自定义 javascript 来附加监听器。但没有任何效果。
【问题讨论】:
【参考方案1】:您需要在代码中手动授予应用程序权限。这样你的WKWebView
就可以打开相册了。
在 Info.plist 文件中添加以下两个键:
<key>NSPhotoLibraryUsageDescription</key>
<string>Needs permission to select photos</string>
<key>NSCameraUsageDescription</key>
<string>Needs permission to take photos</string>
并添加以下代码以在WKWebView
中加载图像附件功能之前询问照片权限(不要忘记import Photos
框架):
let status = phphotoLibrary.authorizationStatus()
if status == .authorized
print("already authorized")
else
PHPhotoLibrary.requestAuthorization((_ status: PHAuthorizationStatus) -> Void in
switch status
case .authorized:
print("Authorized")
case .denied:
print("Denied")
case .notDetermined:
print("Not determined")
case .restricted:
print("Restricted")
@unknown default:
print("Unknown")
)
【讨论】:
以上是关于从 WKWebView 打开照片库或相机?的主要内容,如果未能解决你的问题,请参考以下文章
在 Xcode 中打开 Popover 选项以在 iPad 上选择相机或照片库时出错