新しいSwift 2.0変換でいくつかの問題が発生しています。
アプリを変換しました。すべてが完全に機能しているように見えますが、Web サーバーへの接続が完全に機能しなくなりました。
元のコード:
let tempstring: String? = "\(urlBase)"
let url = NSURL(string: tempstring!.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)
var key: NSString?
key = NSString(contentsOfURL: url!, encoding: NSUTF8StringEncoding, error: nil)
一時文字列はhttp://www.zephyrpanthur.com/ -- 他の変数とサブディレクトリになります。
変換は次のことを行いました:
let tempstring: String? = "\(urlBase)"
let url = NSURL(string: tempstring!.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)
var error: NSError?
var key: NSString?
do {
key = try NSString(contentsOfURL: url!, encoding: NSUTF8StringEncoding)
print(key)
}
catch var error1 as NSError {
error = error1
print(error)
key = nil
}
基本的に、try/catch を追加しただけです。これは素晴らしいことです。ただし、key
は常に と等しくなりnil
ます。
私は多くのことを試しましたが、最終的にhttp://www.google.comをロードすると機能し、サイトがロードされることがわかりました。Yahoo、Facebook、および主要な名前ではない他のいくつかのページで試してみましたが、すべて機能しました。
zephyrpanthur.com に戻ると、機能しなくなりました。8bitfox.com など、私が所有する他のサーバーもいくつか試しましたが、それも機能しませんでした。www.
ssl (https/http) の有無にかかわらず試してみました
自分のサーバーからのものはすべてブロックされているようです。これは非常に奇妙で奇妙です。iPhone、iPad、およびシミュレーターはこれらのページを問題なくロードできますが、アプリ内ではロードされません...
コードはプレイグラウンドで機能しますが、私のアプリでは機能しません。私はネットワーキングで他に何もしていません.このコードが実行される前に、ローカルユーザー設定をチェックして、自動ログインするか、ユーザーとパスを入力するように要求するかを確認するだけです.
エラー メッセージは、「zepyrpanthur.com を開けませんでした」または失敗したときに使用したサイトに沿っていました。
これがSwift 2.0の問題であり、私のWebサーバーの問題ではないことを願っていますが、誰にもわかりません. アクセスにはsslが必要なのではないでしょうか?読み込まれたサイトのいくつかは SSL ではなかったので、わかりませんが、アイデアはありますか?