我認爲這並不是解決我的問題的方法,但我希望有人可能會從過去的經驗中獲得創造性的工作全面分享。我爲我最新的iPhone/iPad遊戲創建了3D關卡編輯器,而且我正處於最後階段,我需要將地圖寫入我設計的XML文件格式。將XML寫入項目(iOS,Xcode 4)
我使用KISSXML作爲我的XML庫進行解析,並且我準備將其用於寫作以及擴展。我的問題是這樣的:是否有可能以某種方式寫入我可以查看並存儲在項目中的位置?對於我創建的最初的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文件作爲附件發送給我自己作爲一個便宜的黑客?不是我的首選解決方案,但現在可能需要做。
我認爲這應該被遷移到Stackoverflow ... – timbooo
對不起,這是一種尷尬...是我可以做的事情,還是排名較高的用戶必須爲我做?我同意,第二個想法是一個相當廣泛的問題。 – David
不要出汗。主持人會爲你做。 – michaelmichael