【Ionic/Capacitor】作成したアプリがiOS・Androidで実行できない

アプリ開発(Unity以外)
マイケル
マイケル
どうもマイケルです!
最近はIonic(アイオニック)を使ったアプリ開発を勉強しています!
エレキベア
エレキベア
Ionicって何クマ??
マイケル
マイケル
IonicはAndularやRext等の開発キットをベースにしたアプリ作成のフレームワークだよ!
エレキベア
エレキベア
アプリを作成するキットなのクマね
マイケル
マイケル
そう!そして更にCordova/Capacitorといったクロスプラットフォームライブラリを使用する事で、WebアプリだけでなくAndroid/iOSなどに対応するハイブリッドアプリケーションを作成することができるんだ!
エレキベア
エレキベア
??????
マイケル
マイケル
簡単にいえばパソコンとかスマホとかいろいろ対応できるアプリが作れるって事だよ
エレキベア
エレキベア
なるほどクマ
マイケル
マイケル
さっそく作成にとりかかってみたんだけど・・・
・Android
Android Studioで実行マークがグレーになって実行できない
Androidグレー
・iOS
Xcodeで実機実行したらエラーが発生(エミュレータでは実行可)

XCodeエラー

マイケル
マイケル
スマホで何も実行できない・・・
エレキベア
エレキベア
初っ端からつまずいてるクマ・・・
マイケル
マイケル
そんなわけで今回は対処方法を調べてみるよ!

開発環境

マイケル
マイケル
今回はangularとCapacitorを使用して試したよ!


[バージョン情報]
Ionic CLI : 6.1.0
Ionic Framework : @ionic/angular 5.0.0
Capacitor CLI : 1.5.0

1. Android Studioで実行できない

Androidグレー
マイケル
マイケル
さてまずはAndroidからだ
エレキベア
エレキベア
こういうときはどうすればいいクマ?
マイケル
マイケル
困った時はググる!
それだけだけだよ・・・
エレキベア
エレキベア
かっこよくないクマ・・・
マイケル
マイケル
さっそくそれっぽいのがあったぞ!


Android Stdioのrunマークがグレー・・・実行できない理由は?

エレキベア
エレキベア
(そのままクマ・・・)
マイケル
マイケル
どうやらこの記事によると実行できない原因は
1. アプリに必要なSDKが入っていない。
2. プロジェクトがgradleと同期できていない。

の2つがあるみたいだ!
マイケル
マイケル
SDKのバージョンは合っているっぽいからgradleの同期の問題みたいだな
「File -> Sync Project with Gradle Files」を選択して・・・っと
マイケル
マイケル
・・・
Android成功
マイケル
マイケル
う、うごいたーーーー!!!
エレキベア
エレキベア
あっさり解決クマね
マイケル
マイケル
他にもSDKのバージョンが21以上じゃないといけなかったり
Java9がだめだったりといろいろ制限はあるみたいだよ!

iOS XCodeで実機の実行ができない

XCodeエラー
マイケル
マイケル
さて次はiOSだ!
まずはエラー内容を見てみよう
dyld: Library not loaded: @rpath/Capacitor.framework/Capacitor
  Referenced from: /private/var/containers/Bundle/Application/19F4FBE7-336C-4FCB-83C5-35CD46C5E6C6/App.app/App
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/19F4FBE7-336C-4FCB-83C5-35CD46C5E6C6/App.app/Frameworks/Capacitor.framework/Capacitor: code signature invalid for '/private/var/containers/Bundle/Application/19F4FBE7-336C-4FCB-83C5-35CD46C5E6C6/App.app/Frameworks/Capacitor.framework/Capacitor'

    /private/var/containers/Bundle/Application/19F4FBE7-336C-4FCB-83C5-35CD46C5E6C6/App.app/Frameworks/Capacitor.framework/Capacitor: code signature invalid for '/private/var/containers/Bundle/Application/19F4FBE7-336C-4FCB-83C5-35CD46C5E6C6/App.app/Frameworks/Capacitor.framework/Capacitor'

    /private/var/containers/Bundle/Application/19F4FBE7-336C-4FCB-83C5-35CD46C5E6C6/App.app/Frameworks/Capacitor.framework/Capacitor: stat() failed with errno=1
    /private/var/containers/Bundle/Application/19F4FBE7-336C-4FCB-83C5-35CD46C5E6C6/App.app/Frameworks/Capacitor.framework/Capacitor: code signature invalid for '/private/var/containers/Bundle/Application/19F4FBE7-336C-4FCB-83C5-35CD46C5E6C6/App.app/Frameworks/Capacitor.framework/Capacitor'

    /private/var/containers/Bundle/Application/19F4FBE7-336C-4FCB-83C5-35CD46C5E6C6/App.app/Frameworks/Capacitor.framework/Capacitor: stat() failed with errno=1
(lldb)
エレキベア
エレキベア
なんのことかさっぱりクマ
マイケル
マイケル
なんのことかさっぱりだな
マイケル
マイケル
とりあえずググってみるか

Ionic Capacitor Deploy App on ios 13.3 device freeze splashscreen
bug: App freezes on splash screen with error: Library not loaded: @rpath/Capacitor.framework/Capacitor #2360

マイケル
マイケル
それっぽい記事が二つ見つかったぞ
最近発生している不具合みたいだね
エレキベア
エレキベア
英語でよくわからないクマ
マイケル
マイケル
こういう時はGoogle翻訳・・・
エレキベア
エレキベア
かっこよくないクマ・・・
マイケル
マイケル
なになに・・・
「IOS 13.3.1でも同じ問題。13.3.0で-うまく機能します。」
「有料のApple開発者IDに切り替えると、問題が魔法のように解決されました!」
エレキベア
エレキベア
・・・
マイケル
マイケル
・・・
マイケル
マイケル
どうやらiOS 13.3.1からのバージョンで起きる不具合みたいだね
・iOSのバージョンアップを待つ
・有料の開発者IDに切り替える

の方法しかいまのところなさそうだ!
エレキベア
エレキベア
有料の開発者IDは持ってるクマ?
マイケル
マイケル
持ってないからしばらくエミュレータで実行かなぁ・・・・
エレキベア
エレキベア
とほほ・・・


〜〜〜〜

マイケル
マイケル
そんなこんなで今日は不具合調査でした!
マイケル
マイケル
環境構築は意外と解決に時間がかかるからご慎重に!!

【Ionic/Capacitor】作成したアプリがiOS・Androidで実行できない 〜完〜

コメント