NSURLConnection finished with error - code -1002

柔情痞子 提交于 2019-12-12 07:32:11

问题


Friends i have simple audio player (MPMoviePlayerController) which can play audio stream. On iOS 11 i have very interessing trouble, thousand time i have error and my stream was stopped:

NSURLConnection finished with error - code -1002

I paste this code (this code i saw on stackowerflow) but it's not help to me:

<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>

Maybe you know best solution?


回答1:


That error should not be related to using HTTP instead of HTTPS. App Transport Security failures return error code -1022.

The error code -1002 indicates an invalid URL. Perhaps your HTTP live streaming playlist file contains a structurally invalid URL (e.g. missing scheme, a scheme other than http/https, etc.)?

For additional debugging, set this environment variable

CFNETWORK_DIAGNOSTICS=1

in your Xcode project and re-run the app. Once you know what URL is failing, the problem will likely become more obvious.

If it isn't, file a bug.




回答2:


This issue can appear if your URL contains spaces. I solved it by replacing the spaces with "%20", and then you can use it safely. The Objective C code to replace the spaces is below.

your_url_variable_name = [your_url_variable_name stringByReplacingOccurrencesOfString:@" " withString:@"%20"];



回答3:


First thing you must use secure server (server with valid certificate). I'm not sure either it is necessary or not because i never tried to hit server with invalid certificate. You can try this code (not sure it will work for you or not) put this code in Appdelegate.m

@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
    return YES;
}
@end


来源:https://stackoverflow.com/questions/46707634/nsurlconnection-finished-with-error-code-1002

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!