Ios 无法解释的EXC\u错误访问
我的应用程序上出现了间歇性的EXC\u BAD\u访问崩溃,我不知道为什么。这是一种连接到我的后端的方法,我的后端已经工作了多年,现在正在爆炸 无法预测Ios 无法解释的EXC\u错误访问,ios,exc-bad-access,Ios,Exc Bad Access,我的应用程序上出现了间歇性的EXC\u BAD\u访问崩溃,我不知道为什么。这是一种连接到我的后端的方法,我的后端已经工作了多年,现在正在爆炸 无法预测 - (BOOL)isServerAvailable { if (SharedAppDelegate.netConnectionUp) { NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/is_server_online", API_B
- (BOOL)isServerAvailable {
if (SharedAppDelegate.netConnectionUp) {
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/is_server_online", API_BASE_URL]];
NSError *theNetworkError = nil;
NSString *content = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:&theNetworkError];
if ([content isEqualToString:@"yes"]) {
return YES;
}
else {
[self showNoServerDialog];
}
}
调试器指示它将在以下服务器上关闭:
NSString *content = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:&theNetworkError];
我不知道为什么。有什么想法吗?在异常发生之前,
url
的值是多少?@Drux调试器变量中的值是正确的。这是我的后端/is_服务器_在线API调用的完整url。除了异常情况外,报告的地址是什么<代码>0x0还是一些非零值?API\u BASE\u URL
是常量还是变量?我可能建议添加您自己的NSAssert(url,@“url为零”)
在调用stringWithContentsOfURL
之前,通过这种方式,您可以确定问题是URL还是stringWithContentsOfURL
@Rob,报告的地址是0x1。API_BASE_URL是位于应用程序委托中的常量。感谢NSAssert上的建议,应用程序成功地通过了断言,但仍然在stringWithContentsOfURL上崩溃。0x1的地址似乎很奇怪(0x1的“代码”有意义,但不是0x1的“地址”)。零地址表示一类问题,非零地址(但仍然合理)表示另一类问题。如果地址0x1是真的,则表明存在根本不同的情况。尽管如此,我无法重现你的问题(我们也无法修复我无法重现的问题)。也许您可以创建一个演示来说明这个问题。