2017-10-17 14 views
1

私は、次のコードでUIDocumentPickerViewControllerを持っている: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ファイルの外観を示しています。

UIDocumentPickerViewController files disabled

私は私の理解に必要になることが私の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ファイルの種類を選択できるようにするにはどうすればよいですか?

答えて

1

私は別の質問hereに基づいて調べました。

<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をするように修正:私は私のInfo.plistに、次の追加

UIDocumentPickerViewController *documentPicker = 
    [[UIDocumentPickerViewController alloc] initWithDocumentTypes: @[@"com.hankinsoft.sqlpro.sql"] 
                  inMode: UIDocumentPickerModeOpen]; 
0

public.sqlの代わりにpublic.databaseを使用する必要があります。

+0

'public.database'は、いずれかの問題が解決しません。私はsqlスクリプトではなく、sqliteデータベースファイルの可能性があります考えています。 – Kyle

関連する問題