0

アプリで iCloud の特定の部分を複数のデバイスに同期させようとしています。アプリで iCloud ドキュメントを有効にし、iCloud コンテナを追加しました。表示された方法で Info.plist ファイルを編集しました。私のコードでは、plist ファイルが作成され、デバイスのドキュメント ディレクトリに簡単に保存できますが、iCloud に保存しようとするたびにクラッシュします。Ubiquitous コンテナーのログは常に表示されます (null)

id plist = [NSPropertyListSerialization dataWithPropertyList:self.theShow format:NSPropertyListXMLFormat_v1_0 options:nil error:nil];
        NSArray *paths = NSSearchPathForDirectoriesInDomains
        (NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *devotionals = [documentsDirectory stringByAppendingPathComponent:@"devotionals"];
        UITextField *textField = [alertView textFieldAtIndex:0];
        NSString *theName = textField.text;
        NSString *iCloudsave = [theName stringByAppendingString:@".plist"];
        //make a file name to write the data to using the documents directory:
        NSString *fileName = [NSString stringWithFormat:@"%@/%@.plist",
                              devotionals, theName];
        NSLog(@"%@", fileName);
        [plist writeToFile:fileName atomically:YES];
        
        
        
        
        NSURL* ubiq = [[NSFileManager defaultManager]URLForUbiquityContainerIdentifier:nil];
            NSURL *ubiquitousPackage = [[ubiq URLByAppendingPathComponent:@"Documents"]  URLByAppendingPathComponent:iCloudsave];
        NSLog(@"UBIQ%@", ubiquitousPackage);
            
            [plist saveToURL:ubiquitousPackage forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success)
             {
                 if (success)
                 {
                     NSLog(@"Synced with icloud");
                 }
                 else
                     NSLog(@"Syncing FAILED with icloud");

             }];
4

0 に答える 0