gpt4 book ai didi

iphone - NSXMLParserDelegate 和 iPhone SDK 3.1.X

转载 作者:行者123 更新时间:2023-12-03 19:42:39 26 4
gpt4 key购买 nike

我的商店中有一个为 3.1.2 构建的应用程序,但在 4.0GM 下崩溃了。我已经使用 Xcode 3.2.3 修复了崩溃问题,但也收到警告称此类类未实现 NSXMLParserDelegate。我添加到标题中,一切看起来都很好。我现在已经提交了应用程序,正在等待审核。此最新版本是使用 4.0 的基础 SDK 和 3.1.2 的部署目标编译的。

我遇到的问题是,今天早上我在 Xcode 3.2.2 中打开了该项目,当针对 3.1.2 的基础 SDK 进行构建时,我收到编译错误,指出 NSXMLParserDelegate 不存在。这是否意味着我正在等待审核的应用程序将在 3.1.2 设备下崩溃?这很奇怪,因为我使用 3.1.3(我认为是 3.1.2)的 beta 测试人员说该应用程序运行良好。如果无法针对 3.1.2 的基础 SDK 进行编译,它是否应该崩溃?

我认为讨论 4.0 NDA 应该没问题,因为我的问题特定于 3.1.X。

最佳答案

首先,本周 NDA 已解除,因此讨论 iOS 4.0 SDK 没有问题。

至于你的问题:编译和运行应用程序之间是有区别的。

iOS4 SDK 中添加了 NSXMLParserDelegate 协议(protocol)。在 SDK 的早期版本中,XML 解析器委托(delegate)方法是在类别中声明的。在iOS4中,这些方法已转移到专用协议(protocol)中,这使得它更加干净。在运行时,没有区别。编译后,该应用程序对协议(protocol)或类别一无所知。 NSXMLParser 将简单地检查是否实现了特定的委托(delegate)方法(通过 respondsToSelctor),因此它会正常运行。

一般来说,用iOS4 SDK构建并在3.0上运行是没有问题的。您必须确保不调用 3.0 中不存在的任何方法。通过调用respondsToSelector可以很容易地做到这一点。它允许您创建在所有操作系统版本上运行的单个应用程序,但仍然允许您调用 4.0 特定的方法。

我希望这是有道理的......

关于iphone - NSXMLParserDelegate 和 iPhone SDK 3.1.X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3081595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com