NSURLConnection завершено с кодом ошибки -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>

может быть, вы знаете лучшее решение?

2 ответов


что ошибка не связано с использованием HTTP вместо HTTPS. Сбои безопасности транспорта приложения возвращают код ошибки -1022.

код ошибки -1002 указывает на недопустимый URL-адрес. Возможно, ваш файл плейлиста http live streaming содержит структурно недопустимый URL (например, отсутствующая Схема, Схема, отличная от http/https и т. д.)?

для дополнительной отладки, установите эту переменную среды

CFNETWORK_DIAGNOSTICS=1

в вашем проекте Xcode и повторно запустите приложение. Как только вы узнаете, что URL не работает, проблема, скорее всего, станет более очевидной.

Если это не так, файл ошибка.


Первое, что вы должны использовать secure server (сервер с действительным сертификатом). Я не уверен, что это необходимо или нет, потому что я никогда не пытался ударить сервер с недопустимым сертификатом. Вы можете попробовать этот код (не уверен, что он будет работать для вас или нет) поместить этот код в Appdelegate.м

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