gpt4 book ai didi

ios - AFNetworking - 无效参数不满足 : url

转载 作者:IT王子 更新时间:2023-10-29 08:14:29 26 4
gpt4 key购买 nike

我刚刚在 ios7 上尝试了 AFNetworking,但出现了这个错误:

    /Classes/AFHTTPClient.m:227
2013-09-16 18:25:57.557 App[13531:a0b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: url

我不知道发生了什么,lib 和 ios7 有问题吗?谢谢。

最佳答案

正如 Leon 在他的评论中所说,注释掉 NSParameterAssert 并不是一个理想的解决方案。 AFNetworking 的作者出于某种原因在那里提出了一个断言。未通过断言的代码很可能是由无效的 URL 引起的。

请记住,NSURL 工厂方法(即 + URLWithString: 及其兄弟)在传递一个无效的 URL 字符串。在此上下文中,无效字符串是包含无效 URL 的字符串。

你应该做的不是评论我们的断言,而是确保你没有将任何无效的 URL 传递给你的 AFHTTPClient 实例。 This Stackoverflow answers给出了如何验证 URL 的示例。这是答案的示例:

- (BOOL)validateUrl:(NSString *)candidate {
NSString *urlRegEx = @"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
return [urlTest evaluateWithObject:candidate];
}

或者,您可以使用 NSStringstringByAddingPercentEscapesUsingEncoding 方法添加百分比转义。像这样:

NSString *encoded = [notEncoded stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

关于ios - AFNetworking - 无效参数不满足 : url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18832995/

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