Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlin Multiplatform Mobile (KMM) を使った App を Apple M1 Mac で開発しようとしたけど iOS App 向けビルドでコケた / The app build (for iOS) failed that using Kotlin Multiplatform Mobile (KMM) on an Apple M1 Mac

Kotlin Multiplatform Mobile (KMM) を使った App を Apple M1 Mac で開発しようとしたけど iOS App 向けビルドでコケた / The app build (for iOS) failed that using Kotlin Multiplatform Mobile (KMM) on an Apple M1 Mac

Kotlin Multiplatform Mobile (KMM) を使った App を Apple M1 Mac で開発しようとしたけど iOS App 向けビルドでコケた
@treastrain

NEW DEBUG!! #3.0 ~テストが通らないなら消せばいいじゃない~ @ CASPUR 2021/03/20 22:00~

treastrain / Tanaka Ryoga

March 20, 2021
Tweet

More Decks by treastrain / Tanaka Ryoga

Other Decks in Programming

Transcript

  1. 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

    View Slide

  2. 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」リリース

    View Slide

  3. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  7. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide