質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS 9

iOS 9は、アップル社のモバイルOSであるiOSシリーズのバージョン。特徴として検索機能の強化、Siriの機能改良、iPad向けマルチタスクなどがあります。マルチウィンドウ機能をサポートし、iPad向けマルチタスクもサポートされています。

Q&A

1回答

4941閲覧

[xcode objectice-c] 急募! 「error in __connection_block_invoke_2: Connection interruputied」というエラー

orange0190

総合スコア1698

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iOS 9

iOS 9は、アップル社のモバイルOSであるiOSシリーズのバージョン。特徴として検索機能の強化、Siriの機能改良、iPad向けマルチタスクなどがあります。マルチウィンドウ機能をサポートし、iPad向けマルチタスクもサポートされています。

0グッド

0クリップ

投稿2015/09/24 06:09

編集2015/09/24 08:35

###現在の状況
現在、xcodeを用いてiOSのアプリを開発しています。
この度、対象をiOS9として開発を進めていたのですが「error in __connection_block_invoke_2: Connection interrupted」というエラーが発生して、その後PCやインターネットと通信を行う処理が失敗するようになってしまいました。
###どうしたいか
インターネットを用いて情報の検索等を行っていますが、思うように解決方法を見つけることができません。
ですので、何か解決につながるような情報をいただければと思います。
###環境
xcodeのバージョン : 7.0
iOSのバージョン : 9.0.1
###補足情報
上記エラーは必ず発生するのはなく、テストをする端末によって発生しない場合があります。
[補足追記]
iOS9のATS制限はinfo.plitに次の記述をすることで回避しています。

xml

1<key>NSAppTransportSecurity</key> 2<dict> 3 <key>NSAllowsArbitraryLoads</key> 4 <true/> 5</dict>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

error in __connection_block_invoke_2: Connection interrupted」というエラーが発生して、その後PCやインターネットと通信を行う処理が失敗するようになってしまいました。

これじゃあどこで何が発生したのか何もわかりませんが、iOS9で通信が失敗するようになったということなら、まずはiOS9で導入されたATSの制限に引っ掛かってないか疑うべきです。もしそれを知っていての質問なら、そのことは補足して質問すべきです。
「iOS9 ATS」でgoogle検索すれば、いろいろ情報が出てくると思います。

要するにiOS9以降はデフォルトでhttp通信は禁止になりhttpsを使用しなければならないということです。なので、基本的にはサーバーがhttpsに対応する必要がありますが、アプリ自身の設定でその制限を解除することもできます。

投稿2015/09/24 08:20

TakeOne

総合スコア6299

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

orange0190

2015/09/24 08:33

情報不足で申し訳ありません。 ATS制限のことは分かっています。 今回はそれを避けるためにinfo.plistに <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> といった記述をしています。 また、自分でソースコードを追ってみても、どこでエラーが発生しているのか全く分からない状態です。 ですので、「error in __connection_block_invoke_2: Connection interrupted」というエラーに関する情報を何でもいいので求めているといった状況です。 このエラーはアプリのトップ画面で何も操作をせずにいる、もしくはアプリをバックグランドから復帰させたときに発生しています。
TakeOne

2015/09/24 23:14

たぶん既にこのエラーメッセージをgoogle検索して調べていると思いますが、動画ファイルの処理等、通信とあまり関係ないケースでも発生している例が見られます。端末によって発生したりしなかったりする可能性もあるということで、なんとなくの勘としてはメモリ不足が原因でシステム内部で何らかの処理が失敗しているような気がします。その後の通信が失敗しているのもこのエラーメッセージが原因で通信が失敗するのではなく、そもそもメモリ不足でいろいろな機能が動作しづらくなっているという可能性もあります。InstrumentsのLeaksでメモリ使用状況を調査すれば何かわかったりするかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問