経緯
Flutterアプリを作る際に、
サンプルを参考にしながら
APIからJSONの値を取得して、その値をそのまま表示するサンプルを作るときに躓きました。
内容
package:http/http.dart
を使って get をすると以下のようなエラーが出ました。
_ClientSocketException (Connection failed)
Exceptionの内容は以下の通り。(xxx.comは仮)
Exception has occurred.
SocketException (SocketException: Connection failed (OS Error: Operation not permitted, errno = 1), address = xxxx.com, port = 443)
対応
FlutterのMacOSアプリセッティングに記載がありまして、
アプリからネットワークのリクエストを投げるには
com.apple.security.network.client
のentitlementsを追加する必要があるようでした。
そのため、対応としては
macos/Runner/DebugProfile.entitlements
ファイルの要素内に以下を追加することで解決。
macos/Runner/DebugProfile.entitlements
<key>com.apple.security.network.client</key>
<true/>
やっとデータが取れた。