Flutter6日目

Pocket

ハイライト
iOS API呼び出し
ハードの回転処理への固定の仕方

iOS API呼び出し

基本はこれに則り実装していく。
Writing custom platform-specific code with platform channelsWriting custom platform-specific code with platform channels

途中でここに誘導されるが
https://github.com/flutter/flutter/tree/master/examples/platform_channel
これを clone してきて実際にビルドしてみてどうなっているかテストしてみるのが良い。

cloneしてビルドするだけなのにエラーが発生することがある。

Xcodexcode_backend.sh not found 的なエラーが発生した場合

$FLUTTER_ROOT が設定されていない。
これを export するか、プロジェクトの BuildPhases -> Run Script の $FLUTTER_ROOT を自分の Flutter のインストールしてあるディレクトリを指定すると良い

ターミナルのビルドでバージョンコンフリクトが発生する場合

具体的には以下のような内容
[platform_channel] flutter packages get
Running “flutter packages get” in platform_channel…
Package collection has no versions that match 1.14.5 derived from:
– async 2.0.6 depends on version ^1.5.0
– barback 0.15.2+15 depends on version ^1.5.0
– boolean_selector 1.0.3 depends on version ^1.5.0
– crypto 2.0.2+1 depends on version ^1.0.0
– flutter 0.0.0 depends on version 1.14.5
– platform_channel depends on version 1.14.6
pub get failed (1)
exit code 1

この場合、pubspec.yaml 内の各パッケージのバージョンをチマチマ揃えて上げるとうまくいく。
Mac 側ではもう少し少なかったんですけど今 Windows でやったら結構数が多いな…

iOS回転方向の固定

Flutter: How to avoid change orientation?

これだけで良い。
void main() {
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft,
]);
run(new MyApp());
}

DeviceOrientation は enum なので、. からうち直せばインテリセンスが効く。

ただ、バグの報告も過去にあったようなのでバージョンによっては注意。
https://github.com/flutter/flutter/issues/13238

というか、自分のところでも iPad でクルックル回転してる。
なんだろう。

1件のコメント

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です