I'm testing the new UIDocumentPickerViewController
API in iOS 8. I want to just open a file in iCloud, to see how the interaction works.
This is the code I'm running from my UIViewController
:
- (IBAction)openDocument:(id)sender {
[self showDocumentPickerInMode:UIDocumentPickerModeOpen];
}
- (void)showDocumentPickerInMode:(UIDocumentPickerMode)mode {
UIDocumentPickerViewController *picker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[(NSString *)kUTTypeData] inMode:mode];
picker.delegate = self;
[self presentViewController:picker animated:YES completion:nil];
}
openDocument
is tied to a button in IB. When I tap it, it opens the iCloud browser, but every folder in it is grayed out (I created some test Keynote, Numbers and Pages files) so I cannot get to the files:
.
I checked some documentation and did the following (with no luck):
- Enabled iCloud in my app (in the Capabilities section, for both Key-value storage and iCloud Documents).
Added the UTI for public.data
in my Info.plist as follows:
<key>CFBundleDocumentTypes</key>
CFBundleTypeIconFile
icon.png
CFBundleTypeName
MyData
CFBundleTypeRole
Viewer
LSItemContentTypes
public.data
LSTypeIsPackage
NSDocumentClass
Document
NSPersistentStoreTypeKey
Binary
Added the NSUbiquitousContainerIsDocumentScopePublic
key with a value of YES
to my Info.plist.
Any idea what could be wrong or missing?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…