【问题标题】:ARC Error while using RaptureXML使用 RaptureXML 时出现 ARC 错误
【发布时间】:2013-02-11 12:43:27
【问题描述】:

我尝试在我的应用程序中使用RaptureXML,因为我知道它很容易实现解析。我正在尝试解析远程 XML 文件并从中获取图像并将其视为 UIImageView。当我尝试调用我的远程 XML 文件时,我收到一个警告和两个错误,如下所示,

  • 'elementFromURL:' 已弃用
  • “_OBJC_CLASS_$_RXMLElement”,引用自:MyViewController.o 中的objc-class-ref ld:未找到体系结构 i386 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
  • clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我使用的 ViewController 如下所示,

- (void)viewDidLoad
  {
   [super viewDidLoad];
    RXMLElement *rootXML = [RXMLElement elementFromURL:[NSURL URLWithString:@"http://myxml.com/Sample.xml"]];
    RXMLElement *rxmlProducts = [rootXML child:@"Products"]; 
    NSArray *myarray = [rxmlPlayers children:@"Main"];
    UIImage *currentImage = [myarray objectAtIndex:0];
    customimage.image = currentImage;
  }

我的远程 XML 文件如下所示,

<Products>
  <Main id="1">
    <name>Main</name>
    <mainimage id="1">http://myimage.com/images/first.png</mainimage>
    <mainimage id="2">http://myimage.com/images/second.png</mainimage>
  </Main>
  <Category id="1">
    <name>category1</name>
    <categoryimage id="2">http://myimage.com/images/img1.png</categoryimage>
  </Category>
  <Category id="2">
    <name>category2</name>
    <categoryimage id="2">http://myimage.com/images/img2.png</categoryimage>
    <subcategoryimage id="1">http://myimage.com/images/img5.png</subcategoryimage>
    <subcategoryimage id="2">http://myimage.com/images/img4.png</subcategoryimage>
  </Category>
</Products>

谁能告诉我如何解决这个错误以及如何使用RaptureXML.解析上述远程XML文件

【问题讨论】:

  • 请附上 RaptureXML 网站的链接。
  • @trojanfoe 有什么意义?
  • @Till 所以我可以查看代码/文档。
  • @Till Yeah 欢呼;这是我认为 OP 应该考虑的事情,这就是为什么我要求他编辑他的问题。

标签: iphone ios ios6


【解决方案1】:

最后我按照RaptureXML GitHub的建议通过以下方式解决了ARC错误的问题。

对于 ARC 问题

因为这是一个链接器错误

  • 进入项目设置,选择您当前的构建目标,然后点击“构建阶段”选项卡。在“编译源代码。
  • 检查RXMLElement.m 是否在该列表中,如果没有则将文件添加到列表中。现在 ARC 错误将由链接器解决。

对于 'elementFromURL:' 已弃用问题

  • 他们不再推荐使用 elementURL:。您可以摆脱它,但它使您无法根据某些人的需要自定义网络呼叫(超时等)。他们建议使用您最喜欢的网络库来获取 XML 数据,然后将其通过管道传输到 RaptureXML。

【讨论】:

    【解决方案2】:

    好的,有两个问题:

    1) RaptureXML 的作者已弃用此commit 中的elementFromURL 方法,并附有以下评论:

    建议您自己处理网络操作 并让 RaptureXML 处理 XML

    2) 看起来您没有使用已编译并支持 iPhone 模拟器(架构 i386)的(静态?)库。要解决这个问题,您需要自己重新编译,包括支持或在网上找到一个已经提供此支持的网站。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多