Slide 1

Slide 1 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. Kotlin Multiplatform Mobile (KMM) を使った App を Apple M1 Mac で開発しようとしたけど iOS App 向けビルドでコケた @treastrain NEW DEBUG!! #3.0 ~テストが通らないなら消せばいいじゃない ~ @ CASPUR March 20, 2021

Slide 2

Slide 2 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 2 自己紹介 @treastrain / Tanaka Ryoga https://treastrain.jp 高専卒 → 大学学部4年 → 21新卒予定 Swift (iOS, watchOS), Core NFC 2019年9月22日 iOS・watchOS App 「Japan NFC Reader」リリース

Slide 3

Slide 3 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 3 自己紹介 所有 Mac の変遷 ● February 2014 - November 2020 15インチMacBook Pro (Retina Late 2013) ○ Intel Core i7-4960HQ (Crystal Well) ● November 2020 - 13インチMacBook Pro (M1、2020) ○ Apple M1

Slide 4

Slide 4 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 4 自己紹介 プログラミング歴 ● Swift 7年目 ● Kotlin 2秒

Slide 5

Slide 5 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. ● Unity ● Xamarin ● React Native ● Flutter ● Kotlin Multiplatform Mobile (KMM) ※発表順 モバイル向けに使える クロスプラットフォーム開発 5

Slide 6

Slide 6 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. Kotlin for Cross-Platform Mobile Development | Kotlin Multiplatform Mobile https://kotlinlang.org/lp/mobile/ 6

Slide 7

Slide 7 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. Kotlin Multiplatform Mobile (KMM) ● iOS と Android の両方の App でビジネスロジックを 共有できる Kotlin for Cross-Platform Mobile Development | Kotlin Multiplatform Mobile https://kotlinlang.org/lp/mobile/ 7

Slide 8

Slide 8 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. KMM の準備をする 8

Slide 9

Slide 9 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 9

Slide 10

Slide 10 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 10

Slide 11

Slide 11 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 11

Slide 12

Slide 12 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 12

Slide 13

Slide 13 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 13

Slide 14

Slide 14 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 新規 KMM プロジェクトをつくる 14

Slide 15

Slide 15 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 15

Slide 16

Slide 16 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 16

Slide 17

Slide 17 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 17

Slide 18

Slide 18 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 18

Slide 19

Slide 19 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. iOS Simulator 向けにビルドする 19

Slide 20

Slide 20 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 20

Slide 21

Slide 21 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 21

Slide 22

Slide 22 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 22

Slide 23

Slide 23 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 「Command line invocation」って どこで変えるの? ● xcodebuild の arch に x86_64 が当たっているのがダメそう…? ● でも「Command line invocation」の変え方が分からない… 23

Slide 24

Slide 24 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. iOS 端末(実機)向けにビルドする 24

Slide 25

Slide 25 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 25

Slide 26

Slide 26 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. Xcode で署名する 26

Slide 27

Slide 27 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 27

Slide 28

Slide 28 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 28

Slide 29

Slide 29 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 29

Slide 30

Slide 30 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 30

Slide 31

Slide 31 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 31

Slide 32

Slide 32 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 32

Slide 33

Slide 33 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 「:shared:linkDebugFrameworkIosX64」って どこで変えるの? ● 実機はそもそも X86 じゃないし… 33

Slide 34

Slide 34 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 2日後… 34

Slide 35

Slide 35 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. 知らないうちに 「:shared:linkDebugFrameworkIosArm64」になってた 35

Slide 36

Slide 36 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. Android 向けにはビルドできた 36

Slide 37

Slide 37 text

Copyright © 2021 treastrain / Tanaka Ryoga All rights reserved. どうすれば Apple M1 でも iOS 向けにビルドできるようになるのか ● Android Studio の Apple シリコン対応待ってます ● Java の SDK…? ● やっぱりまだまだ Intel がいいのかな…… 37