NSURLConnection 完成错误 - 代码 -1002
NSURLConnection finished with error - code -1002
朋友们,我有简单的音频播放器 (MPMoviePlayerController),可以播放音频流。在 iOS 11 我遇到了非常有趣的麻烦,一千次我出错并且我的流停止了:
NSURLConnection finished with error - code -1002
我粘贴了这段代码(这段代码是我在 stackowerflow 上看到的),但对我没有帮助:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>cast.mysite.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
也许您知道最佳解决方案?
首先你必须使用安全服务器(具有有效证书的服务器)。
我不确定是否有必要,因为我从未尝试使用无效证书访问服务器。您可以尝试此代码(不确定它是否适合您)将此代码放入 Appdelegate.m
@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
return YES;
}
@end
该错误应该不与使用 HTTP 而不是 HTTPS 有关。应用程序传输安全失败 return 错误代码 -1022。
错误代码 -1002 表示无效 URL。也许您的 HTTP 直播播放列表文件包含结构上无效的 URL(例如缺少方案、http/https 以外的方案等)?
要进行额外调试,请设置此环境变量
CFNETWORK_DIAGNOSTICS=1
在您的 Xcode 项目中并重新 运行 应用程序。一旦您知道 URL 失败的原因,问题可能会变得更加明显。
如果不是,请提交错误。
如果您的 URL 包含空格,就会出现此问题。我用“%20”替换空格解决了,然后你就可以放心使用了。 Objective C 替换空格的代码如下。
your_url_variable_name = [your_url_variable_name stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
朋友们,我有简单的音频播放器 (MPMoviePlayerController),可以播放音频流。在 iOS 11 我遇到了非常有趣的麻烦,一千次我出错并且我的流停止了:
NSURLConnection finished with error - code -1002
我粘贴了这段代码(这段代码是我在 stackowerflow 上看到的),但对我没有帮助:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>cast.mysite.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
也许您知道最佳解决方案?
首先你必须使用安全服务器(具有有效证书的服务器)。 我不确定是否有必要,因为我从未尝试使用无效证书访问服务器。您可以尝试此代码(不确定它是否适合您)将此代码放入 Appdelegate.m
@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
return YES;
}
@end
该错误应该不与使用 HTTP 而不是 HTTPS 有关。应用程序传输安全失败 return 错误代码 -1022。
错误代码 -1002 表示无效 URL。也许您的 HTTP 直播播放列表文件包含结构上无效的 URL(例如缺少方案、http/https 以外的方案等)?
要进行额外调试,请设置此环境变量
CFNETWORK_DIAGNOSTICS=1
在您的 Xcode 项目中并重新 运行 应用程序。一旦您知道 URL 失败的原因,问题可能会变得更加明显。
如果不是,请提交错误。
如果您的 URL 包含空格,就会出现此问题。我用“%20”替换空格解决了,然后你就可以放心使用了。 Objective C 替换空格的代码如下。
your_url_variable_name = [your_url_variable_name stringByReplacingOccurrencesOfString:@" " withString:@"%20"];