1

この画像をiCloudにアップロードしようとしています。「操作を完了できませんでした。操作は許可されていません」というエラーが表示され続けます。このコードは Document Based App Programming Guide からそのまま引用しました。すべての証明書、識別子、プロファイル、資格を正しく設定したと思います。どんな助けでも大歓迎です。これはめちゃくちゃイライラします。

#import "docx.h"

@implementation docx

-(IBAction)test:(id)sender{

    NSURL *src = [NSURL URLWithString:@"/Users/rjm226/Desktop/jh.jpg"];
        NSLog(@"%@", src);

    NSURL *dest = NULL;

    NSURL *ubiquityContainerURL = [[[NSFileManager defaultManager]
                                    URLForUbiquityContainerIdentifier:nil]
                                   URLByAppendingPathComponent:@"Documents"];

    if (ubiquityContainerURL == nil) {
        NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: NSLocalizedString(@"iCloud does not appear to be configured.", @""),
                              NSLocalizedFailureReasonErrorKey, nil];

        NSError *error = [NSError errorWithDomain:@"Application" code:404
                                         userInfo:dict];

        [self presentError:error modalForWindow:[self windowForSheet] delegate:nil didPresentSelector:NULL contextInfo:NULL];

        return;
    }

    dest = [ubiquityContainerURL URLByAppendingPathComponent:
            [src lastPathComponent]];

    //Move file to iCloud

    dispatch_queue_t globalQueue =
    dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

    dispatch_async(globalQueue, ^(void) {

        NSFileManager *fileManager = [[NSFileManager alloc] init];

        NSError *error = nil;
        // Move the file.

        BOOL success = [fileManager setUbiquitous:YES itemAtURL:src
                                   destinationURL:dest error:&error];

        dispatch_async(dispatch_get_main_queue(), ^(void) {
            if (! success) {
                [self presentError:error modalForWindow:[self windowForSheet]
                          delegate:nil didPresentSelector:NULL contextInfo:NULL];
            }
        });
    });
}

@end
4

1 に答える 1

1

これはめちゃくちゃイライラします。

iCloudへようこそ。しばらくすると、その感覚に慣れます。それまでの間、他の問題があります。

NSURL *src = [NSURL URLWithString:@"/Users/rjm226/Desktop/jh.jpg"];

これでは有効な URL が得られないため、問題が発生します。必要なものは次のとおりです。

NSURL *src = [NSURL fileURLWithPath:@"/Users/rjm226/Desktop/jh.jpg"];

これにより、有効なfile://URL が得られます。

于 2013-05-26T00:59:54.297 に答える