-createDirectoryAtURLを呼び出すとクラッシュする

私は今、本当に混乱しています。これは私のコードです:

NSFileManager *manager = [NSFileManager defaultManager];

NSURL *backup = [self applicationDocumentsDirectory];
backup = [backup URLByAppendingPathComponent:@"Old_Data_File"];

[manager createDirectoryAtURL:backup withIntermediateDirectories:YES attributes:nil error:nil];

このコードが実行されると、メッセージの最後の行でクラッシュします

- [NSFileManager createDirectoryAtURL:withIntermediateDirectories:attributes:error:]:インスタンスに送信された認識できないセレクタ0x5e59220

これはどのようにして認識不能なセレクタになりますか?

編集:

manager is not nil and printing backup to the console results in

{type = 15、string = file://localhost/Users/fabian/Library/Application%20Support/iPhone%20Simulator/4.3.2/Applications/D37C5B93-A778-4555-8953-814F823B1116/Documents/Old_Data_File、エンコーディング= 134217984、ベース=(ヌル)}

Old_Data_File がパスになるまで、ファイルマネージャは最後のコンポーネントを作成する必要があります...

2
manager がnullでないことを確認してください。また、 backup は有効なファイルのURLですか?
追加された 著者 Michael Dautermann,
テストしているiOSのバージョンは何ですか? (この方法はiOS 5 +/OS X 10.7+です。)
追加された 著者 Wevah,

2 答え

ああ...あなたはiOS 5.0以降をターゲットに設定していますか?このAPIはiOS 4.3には存在しません。

4
追加された
ああ!私は NS_AVAILABLE(10_7、5_0)を見ただけです。だから私は NSString を取るメソッドを使うべきですか?
追加された 著者 fabian789,
あなたがiOS 4.3、3.X、さらに2.0をサポートしたいなら...。
追加された 著者 Michael Dautermann,

あなたはこれを意味しましたか?

 (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error

AtURLではなくAtPath?

2
追加された