Salvar documentos do iOS 8 no iCloud Drive
Desejo que meu aplicativo salve os documentos que ele cria no iCloud Drive, mas estou tendo dificuldades para acompanhar o que a Apple escreveu. Aqui está o que tenho até agora, mas não tenho certeza para onde ir a partir daqui.
UPDATE2
Tenho o seguinte no meu código para salvar manualmente um documento no iCloud Drive:
- (void)initializeiCloudAccessWithCompletion:(void (^)(BOOL available)) completion {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
self.ubiquityURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
if (self.ubiquityURL != nil) {
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"iCloud available at: %@", self.ubiquityURL);
completion(TRUE);
});
}
else {
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"iCloud not available");
completion(FALSE);
});
}
});
}
if (buttonIndex == 4) {
[self initializeiCloudAccessWithCompletion:^(BOOL available) {
_iCloudAvailable = available;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:selectedCountry];
NSURL* url = [NSURL fileURLWithPath: pdfPath];
[self.manager setUbiquitous:YES itemAtURL:url destinationURL:self.ubiquityURL error:nil];
}];
}
Eu tenho os direitos configurados para o ID do aplicativo e no próprio Xcode. Clico no botão para salvar no iCloud Drive e nenhum erro aparece, o aplicativo não falha, mas nada aparece no meu Mac no iCloud Drive. O aplicativo está sendo executado no meu iPhone 6 Plus por meio do Test Flight enquanto uso o iOS 8.1.1.
Se eu executá-lo no Simulador (sei que não funcionará devido ao iCloud Drive não funcionar com o simulador), recebo o erro de travamento:'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[3]'