Ios 苹果拒绝我的应用程序,因为它不包含允许用户查看或选择文件应用程序中项目的功能

Ios 苹果拒绝我的应用程序,因为它不包含允许用户查看或选择文件应用程序中项目的功能,ios,objective-c,iphone,ios11,icloud,Ios,Objective C,Iphone,Ios11,Icloud,在我的应用程序中,我使用以下方法从gallery获取视频: - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { } 但苹果被拒绝了该应用程序,并被要求包含从该应用程序文件中选择视频项目的功能 这是苹果给我的理由: 我们注意到,您的应用程序允许用户查看和选择文件,但 它不包括允许用户查看或选择的功能 文件应用程序中的

在我的应用程序中,我使用以下方法从gallery获取视频:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
}
但苹果被拒绝了该应用程序,并被要求包含从该应用程序文件中选择视频项目的功能

这是苹果给我的理由:

我们注意到,您的应用程序允许用户查看和选择文件,但 它不包括允许用户查看或选择的功能 文件应用程序中的项目和用户的iCloud文档(根据需要) 根据应用商店审查指南


似乎他们希望您使用
UIDocumentPickerViewController
让用户能够根据第2.5.15条从云服务和照片库中选择视频文件

苹果希望他们的客户能对他们的设备和在其上运行的应用程序有一个良好的体验,因此你的应用程序支持所有相关的iOS功能是有意义的

您可以使用以下方法创建“显示文档选择器”以选择视频文件:

let picker = UIDocumentPickerViewController(documentTypes: ["public.movie"], in: .import)
picker.delegate = self
self.show(picker, sender: self)
您需要实现一些委托代码来处理拾取的文档。例如,要将所选文件复制到应用程序的文档目录中,请执行以下操作:

extension ViewController: UIDocumentPickerDelegate {
    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
        if let pickedUrl = urls.first {
            let filename = pickedUrl.lastPathComponent
            self.filename.text = filename
            let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
            var documentsDirectory = paths[0]
            // Apend filename (name+extension) to URL
            documentsDirectory.appendPathComponent(filename)
            do {
                // If file with same name exists remove it (replace file with new one)
                if FileManager.default.fileExists(atPath: documentsDirectory.path) {
                    try FileManager.default.removeItem(atPath: documentsDirectory.path)
                }
                // Move file from app_id-Inbox to tmp/filename
                try FileManager.default.moveItem(atPath: pickedUrl.path, toPath: documentsDirectory.path)
                UserDefaults.standard.set(filename, forKey:"filename")
                UserDefaults.standard.set(documentsDirectory, forKey:"fileurl")
                self.fileURL = documentsDirectory
            } catch {
                print(error.localizedDescription)
            }
        }
    }
}

我可以看到审查指南中的条款

2.5.15允许用户查看和选择文件的应用程序应包括文件应用程序和用户iCloud文档中的项目


看起来您应该添加@Paulw11指出的
UIDocumentPickerViewController
支持

您在.info文件中添加了权限?@ChiragKothiya yes Buddy Privacy-照片库添加使用说明,我将上述权限设置为.plist。谢谢你宝贵的回答,但实际上我真的不知道如何从UIDocumentPickerViewController开始,如果可能的话,请给我一些步骤,以便我可以使用UIDocumentPickerViewController打开视频。非常感谢你,实际上我的应用程序是用objective c实现的,但我知道如何将swift代码转换为Objc,这没关系。最后我成功了。