从 WKWebView 打开照片库或相机?
Open photos library or camera from WKWebView?
我有一个包含 WKWebView
的应用程序,在 webview 中,我们具有从照片库附加图像的功能。当从 Safari 或 Chrome 打开页面时,这个东西工作正常,但在我的应用程序中照片选项没有打开。
我搜索了几个答案,但他们告诉我要注入自定义 javascript 来附加一个监听器。但没有任何效果。
您需要在代码中手动授予该应用程序权限。以便您的 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
的应用程序,在 webview 中,我们具有从照片库附加图像的功能。当从 Safari 或 Chrome 打开页面时,这个东西工作正常,但在我的应用程序中照片选项没有打开。
我搜索了几个答案,但他们告诉我要注入自定义 javascript 来附加一个监听器。但没有任何效果。
您需要在代码中手动授予该应用程序权限。以便您的 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")
}
})
}