2011-08-04 4 views
2

私の問題の解決策はないと思うが、誰かが以前の経験から創造的なワークラウンドを共有することを期待していた。最新のiPhone/iPadゲーム用の3Dレベルエディタを作成しました。私は最後に、私が考案したXMLファイル形式にマップを書き出す必要があります。XMLをプロジェクトに書き込む(iOS、Xcode 4)

私は解析のための私のXMLライブラリとしてKISSXMLを使用しています。私はそれを私の使い方まで拡張する用意ができています。私の質問はこれです:私は見ることができる場所に何らかの形で書くことが可能ですし、プロジェクトに格納することはできますか?私が作成した最初の20〜30の地図ファイルについては、後でテキストファイルとして編集できるリソースとしてプロジェクトに直接インポートしたいのですが...私はそれらをアプリケーションのリソースとしてまだこの段階に保存したくありません(ただし私はあなたがアプリケーションからプロジェクトのリソース構造に書き込むことができないと聞いたことがありますか?)。 XMLを自分自身に送信したり、簡単に取り出せる場所に書き込んだりする創造的な方法はありますか?エディタをプレイヤーが使用できるツールに拡張すると、アプリケーションディレクトリへの書き込みは素晴らしいことになりますが、今のところそれは私が探しているものではありません。

どのような提案やヒントが素晴らしいだろう!

ここに私が現時点で書き出すために使っているスニペットがあります。私はさらに簡単な質問があると思います:これはどこに行くのですか?アプリの外でアクセスできる場所ですか?それは私にもっとアクセスできるようにそれを書くためのいくつかの方法はありますか?

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

//make a file name to write the data to using the documents directory: 
NSString *fileName = [NSString stringWithFormat:@"%@/xmlfile.xml", documentsDirectory]; 

DDXMLDocument* document = [[[DDXMLDocument alloc] initWithXMLString:@"<addresses/>" options:0 error:nil] autorelease]; 
DDXMLElement* root = [document rootElement]; 
[root addChild:[DDXMLNode elementWithName:@"address" stringValue:@"Some Address"]]; 

NSData *xmlData = [document XMLDataWithOptions:DDXMLNodePrettyPrint]; 
if (![xmlData writeToFile:fileName atomically:YES]) { 
    NSLog(@"Could not write document out..."); 
} 

UPDATE

次の行を使用する:

NSLog(@"Documents: %@", [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]); 

私は私のドキュメントディレクトリおよびビューへのOSXでファインダーを経由してアクセスを得ることができます/私が書いたXMLファイルを編集します。これはもちろん、私はシミュレータを使ってファイルを生成し、デバイスは生成しません。これは解決策なしではますます問題に遭遇しています... XMLファイルを安価なハックとして添付ファイルとして電子メールで送信できると思いますか?私の好みの解決策ではありませんが、今のところ解決しなければならないかもしれません。

+2

これは、Stackoverflowに移行する必要があると思います... – timbooo

+0

私は申し訳ありませんが、これは恥ずかしいです...私ができることです、またはより高いランクのユーザーが私のためにそれをしなければならないのですか?2番目の考えでは、これはかなり広い質問であると私は同意する。 – David

+0

汗を流さないでください。モデレータがあなたのためにそれを行います。 – michaelmichael

答えて

1

私の理解から、あなたのアプリケーションが作成するファイルを調べたいと思っています。いくつかの解決策が考えられます。あなたは

  1. は、アプリケーションのInfo.plistにUIFileSharingEnabledプロパティを設定することで、iTunesのファイル共有を可能にすることができます。
  2. Dropboxを実装する
  3. あなたのローカルネットワークにあるウェブサーバーにファイルを投稿させるようにします。

オプション1はおそらくセットアップが簡単ですが、データにアクセスするにはクリックする必要があります。 とにかくウェブサーバが稼働しているなら、私はおそらくオプション3に行くでしょう。

+1

合意すると、オプション1と3の両方がうまくいく(特に3)。とにかく道案内の項目#3に似た何かに取り組んでいるので、おそらく行く方法です。好奇心から、iTunesでUIFileSharingを有効にすると、ファイルにどうやって行きますか? – David

+0

UIFileSharingを有効にすると、iTunes経由でアプリケーションのファイルにアクセスできます。 http://www.raywenderlich.com/1948/how-integrate-itunes-file-sharing-with-your-ios-app –

+0

ダニエルありがとう、これはまさに私が望んでいたものです!非常に感謝! – David

0

誰にも聞いていない限り、私はこれはかなり不可能だと仮定しています。私はギアを切り替えていますが、A)将来の読み込みのためにマップをappsディレクトリに保存し、B)XMLのコピーを自分宛てにメールで送って抽出し、プロジェクトと手動で統合します。私が望んだ理想的な解決策ではありませんが、うまくいきます。

これは、他の誰かが好奇心をそそられて道を進むのを助けます。

関連する問題