ユーザーがiCloudを無効にしているときに、iCloudなしでUIDocumentを使用しようとしています。次のコードがあります。
NSURL *url;
if (_isiCloudEnabled) {
NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
url = [ubiq URLByAppendingPathComponent:[NSString stringWithFormat:@"%f.adoc",[[NSDate date] timeIntervalSince1970]]];
} else {
NSString *homeDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *newFilePath = [homeDirectoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%f.adoc", [[NSDate date] timeIntervalSince1970]]];
url = [NSURL URLWithString:newFilePath];
}
ASListyDocument *d = [[ASListyDocument alloc] initWithFileURL:url];
このコードは私にエラーを与えます:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'must pass a valid file URL to -[UIDocument initWithFileURL:]'
理由はありますか?デバッガーで URL を確認しましたが、有効に見えました。シミュレーターと電話で実行してみました-同じ問題です!
ところで、私は iOS 5.0 を搭載したデバイスで実行しています。