使用 RaptureXML 时出现 ARC 错误
Posted
技术标签:
【中文标题】使用 RaptureXML 时出现 ARC 错误【英文标题】:ARC Error while using RaptureXML 【发布时间】: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 网站的链接。 @***foe 有什么意义? @Till 所以我可以查看代码/文档。 @***foe github.com/ZaBlanc/RaptureXML @Till Yeah 欢呼;这是我认为 OP 应该考虑的事情,这就是为什么我要求他编辑他的问题。 【参考方案1】:最后我按照RaptureXML GitHub的建议通过以下方式解决了ARC错误的问题。
对于 ARC 问题
因为这是一个链接器错误
进入项目设置,选择您当前的构建目标,然后点击“构建阶段”选项卡。在“编译源代码。 检查RXMLElement.m
是否在该列表中,如果没有则将文件添加到列表中。现在 ARC 错误将由链接器解决。
对于 'elementFromURL:' 已弃用问题
他们不再推荐使用 elementURL:。您可以摆脱它,但它使您无法根据某些人的需要自定义网络呼叫(超时等)。他们建议使用您最喜欢的网络库来获取 XML 数据,然后将其通过管道传输到 RaptureXML。【讨论】:
【参考方案2】:好的,有两个问题:
1) RaptureXML 的作者已弃用此commit 中的elementFromURL
方法,并附有以下评论:
建议您自己处理网络操作 并让 RaptureXML 处理 XML
2) 看起来您没有使用已编译并支持 iPhone 模拟器(架构 i386)的(静态?)库。要解决这个问题,您需要自己重新编译,包括支持或在网上找到一个已经提供此支持的网站。
【讨论】:
我可以完美运行其他应用程序。当我使用 RaptureXML 时出现这些错误。我遵循了github.com/ZaBlanc/RaptureXML/blob/master/README.md 中给出的实现方式以上是关于使用 RaptureXML 时出现 ARC 错误的主要内容,如果未能解决你的问题,请参考以下文章
使用Areca ARC-1883i时出现“请从最顶层重新启动”错误
使用 R 和 XLConnect 包时出现“内存不足错误 (Java)”
在 R 中使用 RcppArmadillo 包和 rowvec 时出现编译错误