昔、私はwatchOS1用の Watch アプリを設計しました。Xcodeを 7.0.1 に更新しました。元のアプリがバックエンド サーバー (https ではない) にアクセスしようとするため、Info.plistファイルにAppTransport Securityのルールをいくつか追加する必要がありました。元のアプリは正常に動作しますが、watchKit アプリで重大な問題が発生しました。単に読み込まれません。
問題は、watchKit アプリも単純なhttp-json要求を実行し、サーバーに接続するということです。デバッガーを実行しようとすると、次のログが表示されます。
[8210:461000] App Transport Security は安全でないため、平文の HTTP (http://) リソースの読み込みをブロックしました。一時的な例外は、アプリの Info.plist ファイルを介して構成できます。[8210:460900] *** キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: 'データ パラメータが nil' です
App Transport Securityの変更を Watch アプリの plist に追加することはできません。デプロイ ターゲットがwatchOS2に自動的に変更され、プロジェクト全体がクラッシュするためです (ビルド オンopenParentApplication
メソッドです)。
全体として、 AppTransportが許可していないためサーバーにアクセスできません.watchOS1でサポートされていないため、 AppTransportのルールを追加できません-根本的な変更を必要としない他の回避策があるかどうか疑問に思っていました.コードの?
ありがとうございました。