こんにちは。
先日、外部フレームワークを使ったアプリで実機テストしようとしたら、真っ黒な画面になってしまい、少々ハマってしまったので記事を書きます。
同じことが起きてる人がいたら参考にして欲しいです。
環境
Xcode11.3.1
iOS(実機)13.3.1
解決すべき問題
Firebaseなどの外部ライブラリをCocoaPodsで導入したアプリを実機にインストールすると、「Library not loaded」となって、画面が真っ黒くなるという問題。なお、シュミレーターでは普通に動く。
原因
iOS13.3.1から、Appleは無料のアカウントで外部フレームワークを使用することをブロックしたらしいです、、、
僕は試してないんですが、有料版にアップグレードすると動くらしいです。
解決するためにやったこと
とりあえずエラーをコピペして検索してみた。そしたら、上の原因に書いたことが影響しているってことは分かったのですが、じゃあ1万円払って有料のデベロッパーアカウントを作成するのもなんか悔しい。
それで色々調べた結果、無料アカウントでも外部フレームワーク使える方法がありました。
それは、Podfileのuse_frameworks!をuse_modular_headers!に変更するという方法です。
こんな感じに、、、
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'AppName' do
# Comment the next line if you don't want to use dynamic frameworks
# use_frameworks!
use_modular_headers!
# Pods for AppName
pod 'Firebase'
pod 'Firebase/Analytics'
end
ここでは、use_frameworks!をコメントアウトしています。
もし、せっかく作ったアプリが動かなくて困っている方がいたら参考にしていただければと思います。