Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将XML写入项目(iOS,Xcode 4)_Ios_Xml - Fatal编程技术网

将XML写入项目(iOS,Xcode 4)

将XML写入项目(iOS,Xcode 4),ios,xml,Ios,Xml,我认为我的问题没有解决办法,但我希望有人能从过去的经验中总结出一个创造性的工作来分享。我已经为我最新的iPhone/iPad游戏创建了一个3D级编辑器,现在我正处于最后阶段,需要将地图写入我设计的XML文件格式 我正在使用KISSXML作为我的XML库进行解析,我也准备将它的使用扩展到写作。我的问题是:是否有可能以某种方式写入我可以查看并存储在项目中的位置?对于我创建的最初20-30个地图文件,我想直接将它们作为资源导入到项目中,以后也可以作为文本文件进行编辑。。。在这个阶段,我还不想将它们存储

我认为我的问题没有解决办法,但我希望有人能从过去的经验中总结出一个创造性的工作来分享。我已经为我最新的iPhone/iPad游戏创建了一个3D级编辑器,现在我正处于最后阶段,需要将地图写入我设计的XML文件格式

我正在使用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...");
}

我可以通过OSX中的finder访问我的文档目录,并查看/编辑我编写的XML文件。当然,这只在我使用模拟器而不是设备生成文件时有效。这看起来越来越像一个没有解决方案的问题。。。我想我可以通过电子邮件将XML文件作为附件发送给我自己,作为一个廉价的黑客?这不是我喜欢的解决方案,但现在可能必须这样做。

没有任何人的消息,我认为这是不可能做到的。我正在转换设备,现在A)将地图保存到apps目录以备将来加载,B)通过电子邮件向自己发送一份XML副本以进行提取,然后手动与项目集成。这不是我所希望的理想解决方案,但确实有效


希望这能帮助其他好奇的人。

据我所知,您希望检查应用程序创建的文件。我想到了几种可能的解决办法。你可以

  • 通过在应用程序的info.plist中设置属性来启用Itunes文件共享
  • 机具升降箱
  • 使您的应用程序将文件发布到您在本地网络中的Web服务器
  • 选项1可能是最容易设置的,但您必须单击几下才能访问数据。
    如果您有一个Web服务器正在运行,我可能会选择选项3。

    我认为应该将其迁移到Stackoverflow…对不起,这有点尴尬。。。这是我能做的,还是排名更高的用户必须为我做?我同意,仔细想想,这是一个相当广泛的问题。别担心。一个版主会帮你做的。我已经做了标记——任何人都可以标记为离题,版主如果同意的话会很好地处理事情。问一个好问题比不熟悉网站目前如何划分主题要好得多:-)当你说“以后编辑”时,你是指应用程序还是只是在发布前改进它们?同意,选项1和3都会很好(特别是3)。不管怎么说,我会继续做类似于第3项的工作,所以这可能是最好的办法。出于好奇,如果在iTunes中启用UIFileShare,您如何访问文件?启用UIFileShare后,您可以通过iTunes访问应用程序的文件。谢谢你,丹尼尔,这正是我所希望的!非常感谢!!
    NSLog(@"Documents: %@", [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]);