【发布时间】:2018-03-20 12:53:24
【问题描述】:
我有一个应用程序在选择带有UIImagePickerController 的照片时未显示隐私对话框而被商店拒绝。
我尝试了一个不同的项目并在下面粘贴了我的代码,但仍然没有收到任何隐私警报。
用户点击按钮选择照片,显示相机胶卷列表,可以选择照片。一切正常,除了不显示此操作之前要求用户允许操作的警报。
在应用提交时没有任何错误或警告,只有应用审核团队拒绝让应用通过,因为没有显示警报。
如何强制应用在访问照片库之前显示隐私提醒?
- (IBAction)pickAction:(id)sender {
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePickerController.delegate = self;
[self presentViewController:imagePickerController animated:YES completion:nil];
}
<key>NSPhotoLibraryUsageDescription</key>
<string>To pick photos for analysis</string>
我尝试了一个使用 Swift3 的全新项目,但也没有得到任何隐私/权限警报对话框,代码如下:
var imagePicker = UIImagePickerController()
@IBAction func btnClicked() {
if UIImagePickerController.isSourceTypeAvailable(.savedPhotosAlbum){
print("Button capture")
imagePicker.delegate = self
imagePicker.sourceType = .savedPhotosAlbum;
imagePicker.allowsEditing = false
self.present(imagePicker, animated: true, completion: nil)
}
}
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!){
self.dismiss(animated: true, completion: { () -> Void in
})
// imageView.image = image
}
【问题讨论】:
-
Re: 评论,你的应用只适用于 iOS11 吗?
-
看看
NSPhotoLibraryAddUsageDescription和NSPhotoLibraryUsageDescription。有很多 iOS 10 和 iOS 11 特定的行为。 (我在 iOS 11 上,我们不要求烫发,它对我们有用。developer.apple.com/library/archive/documentation/General/…
标签: objective-c swift3 ios11 xcode9 info.plist