App GroupでアプリとウィジェットでRealmDBを共有利用するーSwift Package Managerで組み込む
こんにちは、川上です。
アプリで保存した画像群をウィジェットで読み込んで表示したい!!
っての欲望がありました。
巷でサーチすると、アプリとウィジェットに共通する領域できれる処理として、AppGroupを使えば良いとわかりました。
で、続けて巷に放浪すると、「共通するにはUserDefaultを使えば良いよ」とのハウ・ツーが沢山拾い上げできました。
ウムウム・・・。そうなのね。フーン。。。
アプリ内に共通領域におよそで十数件の画像を保存して、ウィジェットで、ランダムに読み出して表示でできそうだったけど・・・・はてはて?
アプリ内の更新保存した画像が、ウィジェット既存の画像が見れてしまい、更新保存した画像に変わらない。。
どっか処理が変になったので、デバッグしようとUserDefault領域のデータの確認しようとしたけど、簡易でないようだし、ウィジェット絡みのprintログ出しも無い。。。。もぉ!
で、UserDefaultの使いは諦めました。
で、第2案として、Realm DBにしました。
RealmのDB閲覧ブラウザで保存確認でしたし、
ウィジェットからアクセスできたし、
既に何度か使ったし、
おまけに、SwiftPM(Swift Package Manager)で簡単に組み込めるし。。。
これまた、App Groupで共通化するRealmの設定も、巷に教示してくれるし。。
てのことでした。
Realmを組み込みが、とっても楽になりました。
XcodeのメニューからSPMが組み込みできます。
ただ、Xcode13の以前以後で、メニュー位置が変わっていましたので、Xcode13の時、「どこ?」で探しましたけどね。
SPMでRealmを組み込む(Xcode13):
1.SPMサイトでRealmを検索
2.Realmの取得URL(Github)をコピーする
3.xcodeのSPM窓にペーストする
その後は、ウィザードで、ほぼデフォルトで、最新版がインストールできます。
で、RealmのDLができた模様なので、次回分は、App Group設定やRealmでのimageの保存など、諸々のアレコレをナニしてアレして、備忘録の( ..)φメモメモが続く。。(の、はずですが、はてさて、どうだろうかな?)
ではでは。