我有一个具有以下代码的UIDocumentPickerViewController:
UIDocumentPickerViewController *documentPicker =
[[UIDocumentPickerViewController alloc] initWithDocumentTypes: @[@"public.text", @"public.sql"]
inMode: UIDocumentPickerModeOpen];
documentPicker.delegate = self;
documentPicker.modalPresentationStyle = UIModalPresentationOverFullScreen;
[self presentViewController: documentPicker
animated: YES
completion: nil];这将打开选择器,我可以选择.txt文件,但我不能选择.sql文件。下面的屏幕截图显示了.sql文件在选择器中的样子。

我在我的info.plist文件中添加了以下内容,据我所知,这可能是必要的(忽略UTTypeReferenceURL,我只是想让它正常工作)。
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.sql</string>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>SQL statement(s)</string>
<key>UTTypeIconFile</key>
<string>public.sql</string>
<key>UTTypeIdentifier</key>
<string>public.sql</string>
<key>UTTypeReferenceURL</key>
<string>http://www.w3.org/Graphics/JPEG/</string>
</dict>
</array>要让UIDocumentPickerViewController允许选择.sql文件类型,我需要做什么?
发布于 2017-10-18 12:01:41
我能够根据here的另一个问题来解决这个问题。我在我的info.plist中添加了以下内容:
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>SQL statements</string>
<key>UTTypeIdentifier</key>
<string>com.hankinsoft.sqlpro.sql</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>sql</string>
</dict>
</dict>
</array>并将我的UIDocumentPickerViewController修改如下:
UIDocumentPickerViewController *documentPicker =
[[UIDocumentPickerViewController alloc] initWithDocumentTypes: @[@"com.hankinsoft.sqlpro.sql"]
inMode: UIDocumentPickerModeOpen];发布于 2017-10-17 19:14:43
您必须使用public.database来代替public.sql。
https://stackoverflow.com/questions/46796027
复制相似问题