• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Iphoneシミュレータでtxtファイルを作成する)

Iphoneシミュレータでtxtファイルを作成できない問題

このQ&Aのポイント
  • Iphoneシミュレータ上でファイル作成するプログラムが正しく動作しない問題が発生しています。
  • 具体的なコードを示し、writeToFileメソッドが実行されるとアプリが強制終了する現象が起きています。
  • 原因として、ファイルのパスに誤りがあるか、文字列のエンコーディング方式が正しく指定されていない可能性が考えられます。

質問者が選んだベストアンサー

  • ベストアンサー
  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.3

> お手数をかけてしまい申し訳ありませんが、よろしければもうしばらくおつきあいください。 いいえ、現時点でおつきあいできていませんし、まだおつきあいする前提ができていません。前提とは、こちらの環境で、テキストファイルを保存しようとして、アプリが落ちることが、再現するということです。 にもかかわらず、ファイルパスがチルダで始まったらどうだとか、NSData型をファイル保存したらどうだとかいうのは、はっきりいって筋違いです。腹痛が何をやっても収まらないときに、足のかゆみは水虫なのかどうか、議論するようなものです。 なおこちらはXcode 3.2.4、iPhoneシミュレータ 4.1という環境です。iPhone OS(iOS)3.2以上のシミュレートになっています。3.1.3のシミュレートも可能なようですが、設定のしかたがわからないままです。(必要性を感じないので、これ以上努力することはしないでしょう) アプリが落ちる原因が、XcodeかiPhoneシミュレータのバグにあることを、否定できませんが、それはこちらでは調べようがありません。ADCからは、最新のバージョンのiPhone SDKしかダウンロードできないので、いったんアップデートしてしまうと、インストーラを保存していない限り、前のバージョンに戻れませんから。

lain_003
質問者

お礼

どうやらわたしがいろいろと勘違いし、また議論の方向をずらすような事をしてしまい申し訳ありません。 <<なおこちらはXcode なるほど、バージョンが違っているので動かないということもありえますね。バージョンが違うせいということを考えると、APIの文法も違ってくるでしょうからこちらのせんでいろいろと調べてみます。 長い間つきあっていただき感謝しております。ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.2

> ということは、ファイルへの書き込みの権限などでしょうか 違うでしょうね。 とりあえず、「NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);」で、ディレクトリパスが取得できているか、確認してみてはどうですか? [paths count] が、0より大きいかどうか、お調べください。

lain_003
質問者

補足

pathをlogで出力したところ、問題なく表示されていました。 また、ほかにいろいろ試してみたところ、次のコードは正常にうごきました。 NSString *str1 = @"~/Docments/testWritetext.txt"; NSString *str2 = @"kakikomi"; if ([str2 writeToFile:[str1 stringByExpandingTildeInPath] atomically:YES]){ printf("good"); } else{ printf("bad"); } しかしこれを、NSDataのwriteToFileで動かすとbadが出力されました。 フルパスで書くとアクセスできないということでしょうか? お手数をかけてしまい申し訳ありませんが、よろしければもうしばらくおつきあいください。

すると、全ての回答が全文表示されます。
  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

コードには問題ありません。じっさいそのとおりにコードを書いて、実行したところ、アプリが落ちることもなく、テキストファイルが書き出されました。 ここで説明されていない、別の箇所に問題が潜んでいそうです。 > 現在、Iphoneシミュレータ(3.1.3)上でプログラムを書いているのですが iPhoneシミュレータでは、プログラムはかけませんよね。Xcodeでプログラムを書いて、iPhoneシミュレータで実行しているのですね?

lain_003
質問者

補足

わざわざ試していただいて、ありがとうございます。 そちらでは問題なく動いたんですね。ということは、ファイルへの書き込みの権限などでしょうか・・・。 <<iPhoneシミュレータでは、プロ・・・ 言葉がまちがっていました。harawoさんのおっしゃるとおり、Xcodeが書いています。

すると、全ての回答が全文表示されます。

関連するQ&A