2016-05-09 39 views
1

我想設置UIDocumentPickerViewController只允許選擇帶動態UTI的.sqlite擴展名的文件。我不希望將其定義爲我的應用程序的文檔類型,因爲我無法處理任何sqlite文件,我只想啓用iCloud驅動器的備份和傳輸。限制UIDocumentPickerViewController從iCloud驅動器中選擇sqlite文件

NSString *typeForExt = (__bridge NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, CFSTR("sqlite"), kUTTypeItem); 

UIDocumentPickerViewController *iCloudPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[typeForExt] inMode:UIDocumentPickerModeImport]; 

UIDocumentPickerViewController將使sqlite的文件選擇,如果我定義類型作爲通用public.item但隨後的每個文件是一個選項。

回答

1

正確的解決方案是在Info.plist的「Imported UTIs」部分定義sqlite UTI。這並沒有聲明你的應用可以使用sqlite文件。它只是宣佈UTI。

在Xcode中,選擇您的目標。選擇信息選項卡。回到導入的UTI部分並添加sqlite的定義。

+0

謝謝,我會再看看這個。我認爲這一點的目的是讓你的應用程序在共享表或其他系統列表中顯示爲接受這種類型的文件。 – Aaron

+0

不,這是「文檔類型」部分。 – rmaddy

+0

謝謝,有道理。 – Aaron

相關問題