2016-11-23 2 views
0

エラー9802はAppleのdocsによると「致命的な警告」です。私はGoogleとSOを見て、この問題を修正する9802を参照しているものは何も見つかりませんでした。私は "apple.com"のために行くために私のコードを変更することができます、私はページを取得しますが、私自身のURLを使用して、私は上記のエラーが表示されます。私は考えることができるすべてを試したが、何も働かない。助けを求める時間! :DHTTPの読み込みに失敗しました。私はすべての提案を試しましたが、何もできません。

/usr/bin/nscurl --ats-diagnostics https://pragerphoneapps.com

を使用した結果は、すべてのテストが失敗である(結果はhereをアップロードしている)

これが私のアプリのの.plistファイル(のみ関係する部分)

の画像ですenter image description here

これはターゲット情報の画像です:

enter image description here

そして、これは私のコードです:

- (IBAction)showHTMLHelp:(UIButton *)sender { 

// make the popover 
UIViewController* popoverContent = [UIViewController new]; 
UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 450, 500)]; 
popoverView.backgroundColor = [UIColor colorWithWhite:(CGFloat)1.0 alpha:(CGFloat)1.0]; // frame color? 
popoverContent.view = popoverView; 

//resize the popover view shown in the current view to the view's size 
popoverContent.preferredContentSize = CGSizeMake(450, 500); 

NSString *urlAddress = @"https://pragerphoneapps.com";  // @"https://www.pragerphoneapps.com/bookstore-inventory-manager/upload-help/"; 
NSURL *url = [NSURL URLWithString:urlAddress]; 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

// add the UIWebView for RichText 
UIWebView *webView = [[UIWebView alloc] initWithFrame: popoverView.frame]; 
webView.backgroundColor = [UIColor whiteColor]; // change background color here 

// add the webView to the popover 
[webView loadRequest:requestObj]; 
[popoverView addSubview:webView]; 

// if previous popoverController is still visible... dismiss it 
if ([popoverController isPopoverVisible]) { 
    [popoverController dismissPopoverAnimated:YES]; 
} 

//create a popover controller 
popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent]; 

[popoverController presentPopoverFromRect:((UIButton *)oShowHelp).frame inView:self.view 
       permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

}

+0

httpドメインでは機能しますか?もしそうなら、問題はあなたのコードではないでしょう。これをチェックして; http://stackoverflow.com/questions/38719075/ios-kcfstreamerrordomainssl-9813 –

+0

いいえ... httpまたはhttpsで動作しません。このエラーが発生します。App Transport Securityは安全でないため、クリアテキストHTTP(http://)リソースの負荷をブロックしました。一時的な例外は、アプリのInfo.plistファイルで設定できます。 – SpokaneDude

+0

あなたのターゲットサイトが侵害されているか、証明書が悪いです。それはクロームでも開くことはありません。 * https *のための –

答えて

1

私は真剣にあなたのSSL証明書を修正することをお勧めいたします。 ATSでは、有効なSSL証明書、TLSバージョン1.2以上および転送秘密のサポートが必要です。 これは2017年の初めに必要なので、準備が整っています。

とにかく、この作業を行うには次の手順を試してください。

あなたのファイルの上にこれを置く:Info.plistの中

@interface NSURLRequest (InvalidSSLCertificate) 
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host; 
+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host; 
@end 

無効にアプリのトランスポート・セキュリティ。 enter image description here

要求をロードする前に、無効なSSL証明書を許可する:正常にサイトをロード

[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]]; 

サンプルコード:

NSString *urlAddress = @"https://pragerphoneapps.com";  // @"https://www.pragerphoneapps.com/bookstore-inventory-manager/upload-help/"; 
NSURL *url = [NSURL URLWithString:urlAddress]; 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]]; 
UIWebView *webView = [[UIWebView alloc] initWithFrame: self.view.frame]; 
webView.backgroundColor = [UIColor whiteColor]; 
[self.view addSubview:webView]; 
[webView loadRequest:requestObj]; 
+0

申し訳ありませんが、動作しませんでした... NSURLSession/NSURLConnection HTTPロードに失敗しました(kCFStreamErrorDomainSSL、-9802) – SpokaneDude

+0

SSL証明書を取得することで問題は解決されました。ヒントありがとう! SD – SpokaneDude

0

それはYESに」NSAllowArbitraryLoadsを設定するために働くことができない理由私は疑問に思います"キャッシュがある場合は、MacまたはXcodeを再起動してみてください。 "例外ドメイン"設定の形式が間違っています。

enter image description here

関連する問題