1

在我的 iPhone 应用程序中,应用程序从服务器接收 XML 格式的数据并将其显示在 UILabel 中。来自服务器的数据可能包含£符号。这个符号没有以任何方式编码 - 只是在 XML 字符串中传递。该应用程序获取此字符串并将其显示在 UILabel 中。

这在大多数情况下都可以正常工作。它在模拟器中总是可以正常工作,包括 iOS 5.1,但是其中一个用户报告了一个错误,表明£UILabel 实际显示而不是显示£- 这是最奇怪的。

UILabel 文本是用这行简单的代码设置的:

contentLabel.text = [node getValueForKey:keyName];

我已经使用调试器逐步完成了代码,可以看到正在传递和设置正确的字符串值。我还可以在模拟器上看到正确的结果。

但是(如下图所示)该用户的手机出现了问题。有什么我想念的吗?这里可能是什么问题?而且,更重要的是,我该如何解决这个问题?事情变得复杂,因为我的手机和模拟器上一切正常,而且这个用户在全国各地,所以我无法物理访问他们的手机。

这是模拟器的屏幕截图:

模拟器截图

这是受影响用户手机的屏幕截图:

用户手机截图

4

2 回答 2

0

您使用什么库来解析 XML?

尝试通过启用大量 NSLogging 的电子邮件向用户发送一个新版本(甚至可以使用 testflight,它非常棒 - 让您可以在它们进入时通过无线方式查看所有日志)以查看问题出现在哪里。

它们是否与您正在测试的模拟器使用不同的 iOS 版本?他们的 iPhone 是否总是出现问题。你自己的 iOS 设备呢,它永远不会发生吗?

很抱歉所有随机建议,我只是把东西扔在那里,以防其中一个人修复它。

如果他们运行与您相同的应用程序版本、相同的设备(真正的 iPhone 不是模拟器)和相同的 iOS 版本,我不知道问题是什么或可能是什么。

如果你觉得懒惰(我建议不要这样做,它很老套)你总是可以使用:

finalString = [firstString stringByReplacingOccurancesOfString:@"£" withString:@"£"];
于 2012-04-04T16:39:46.883 回答
0

这个问题似乎已经自行解决了。我无法在 iOS 4 或 iOS 5 上重现它,我与之交谈的其他几个用户也无法重现。在与最初报告该问题的用户核实后,她说将 iOS 从 5.1 升级到 5.1.1 后,问题就消失了。那好吧... :)

于 2012-05-31T15:09:43.980 回答