LoginSignup
2
1

More than 5 years have passed since last update.

flutterはiphone5cじゃあ(2018/05/16時点で)動かないけどdevチャンネルなら動く

Last updated at Posted at 2018-05-16

概要

flutterをbetaチャンネルで使おうとするとarmv7のios端末(iPhone5c以前)だとサポート外で動かない。でもdevチャンネルだとサポートしてくれているみたいなので、ちょいちょい設定したら動いたよ!

詳細

betaチャンネルだと、私の手持ちのiPhone5cだと動かなかった。
CPUアーキテクチャサポート外らしい。
このiOSデバイス一覧表によると、iPhone5cまではarmv7というアーキテクチャで、flutterがサポートしているのはarm64、iPhone5s以降のアーキテクチャ。

しかし、この記事によると、コミットハッシュde332ec時点でarmv7もサポートしてくれているらしい。
そのコミットハッシュにはtag:v0.4.2が切られているので、最新版を追えば対応できそう。

調べてみるとflutterにはchannelと言うものがあって、それを切り替えることでmasterブランチやらbetaブランチやらを終えるらしい

  • master: 一番新しくて一番不安定
  • dev: masterよりマシでテストされてるが悪いビルドとやらが含まれることがあるよ
  • beta: devの中から良いビルドを選んでるよ。この中では一番安定していて推奨だよ

channelの説明の参考https://github.com/flutter/flutter/wiki/Flutter-build-release-channels

先の0.4.2は、現時点(2018/05/16)で、betaには含まれていないけどdevには含まれている

今は2018/05/16
flutterのbetaチャンネルは v0.3.2
flutterのdevチャンネルは v0.4.4

手順

手順1 flutterをdevチャンネルにする

$ cd project_root
$ flutter channel dev
$ flutter upgrade

手順2 xcodeでarm64限定っぽい設定を解除

https://github.com/flutter/engine/wiki/iOS-Builds-Supporting-ARMv7 記事参照を推奨ですが、以下にも書いておきます

  1. Targets->Runner->BuildSettings->Architecturesをarm64からStandart architectures(よくわからんけどサジェストされるやつ)に変更
  2. Flutter/AppFrameworkInfo.plist->Required device capabilities keyを削除
  3. Runner/Info.plist->Required device capabilities keyを削除

手順3 run!

$ flutter run # iphone5cなどが接続されている前提

でうごいたよ!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1