2011-02-09 7 views
7

filemakerで作成したcsvをインポートしようとしていて、iTunesのファイル共有を使用してデバイスにコピーしました。私は簡単なステップでなければならないことに固執しています。私はどこが間違っているのか分かりません。別の方法を試して、UTF8エンコーディングを設定しようとしました。また、filemakerからxml UTF8として書き出しを試みました。また、電話からアプリケーションを削除して再実行しようとしました。私がそれを指定しても、エンコーディングを読むのではないようです。次のコードは私にこのコンソール出力を与えます。stringWithContentsOfFile:usedEncoding:error:does not work

ファイルが存在 インポート(ヌル)エラードメイン= NSCocoaErrorDomainコード= 264

-(void)importDatabase { 
NSString *importString; 
NSError *error; 
NSString *documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 
if ([[NSFileManager defaultManager] fileExistsAtPath:[documentsDirectoryPath stringByAppendingString:@"/iPhone.csv"]]) { 
    NSLog(@" File exists"); 
    NSStringEncoding encoding; 
    importString = [NSString stringWithContentsOfFile:[documentsDirectoryPath stringByAppendingString:@"/iPhone.csv"] usedEncoding:&encoding error:&error]; 
NSLog(@"Import %@ %@ ",importString, error); 
} else { 
    NSLog(@" File doesn't exist"); 
} 

}ヘッダから

答えて

7

"操作を完了できませんでした(ココアエラー264)。":

エンコーディングの内容を知っているように、エンコーディングについてFoundationに伝えてみてください。

私はこれが私のために動作するため、あなただけの [NSStringのののalloc]を忘れてしまったと思います
importString = [NSString stringWithContentsOfFile: blah encoding: NSUTF8StringEncoding error: &error]; 
+1

はい。私はこれが問題だと思う。エンコーディングが何であるかはわかりません。実際、私は以下の2つの警告を無視していました。 4.2.1からファイルが欠落しているようです。私は4.2からそれらを置き換え、今は魔法のように動作します。これがAppleの見落としであったことを示唆する他の投稿があります。 警告:/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1(8C148)/Symbols/usr/lib/info/dns.so(ファイルが見つかりません)のシンボルを読み取ることができません。 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1(8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib(ファイルが見つかりません)のシンボルを読み取ることができません。 – codeDoctor

-9

NSString *fileComponents = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; 
0

私は同様の問題があったが、それはファイルがいくつかの奇妙なコードでエンコードされたことが判明UTF-8ではなくページ(128文字以上)を使用します。結局、私はそれが元々どのようにコード化されたか決して解明しませんでした...

関連する問題