iOS
最近、僕の開発したアプリがAppleからリジェクトをくらったのですが、リジェクトと一緒にAppleからクラッシュログが送られてきました。今回は、Appleからクラッシュログが送られてきた場合に不具合の原因を調査する方法に関するメモをまとめておきたいと思い…
iOSとAndroidで非同期処理する方法に関するメモ。重い処理や画像の読み込みを行う場合、メインスレッドで行うと固まって見えたり、メモリリークが発生する可能性があるので、そうゆう処理は非同期で処理した方がよさげ。
僕が開発したiOSアプリにユーザーから「AppleのMusicアプリをバックグラウンド音楽再生中にアプリを使用したらAppleMusicの音楽が止まってしまう」という問い合わせがありました。 実際に確認してみると、確かにAppleMusicアプリで音楽のバックグラウンド再…
アプリ内課金のあるiOSアプリを開発してTestFlightでアプリを配信してテストしたのですが、アプリ内課金テスト手順がややこしかったので、うまくできたパターンをメモしておきます。iOSアプリのアプリ内課金テストを行う場合、まず以下の準備を行います。開…
最近作ったUnityアプリでSocialConnector(TwitterやLineなどのSNS共有用プラグイン )を使用しているのですが、 iPhone(iOS13.3)では正常に動作するものの、iPad(iPadOS13.3)では共有アクティビティ(UIActivityViewController)が開かない現象が発生しま…
先日、Unityで作ったアプリをiOSのAppStoreConnectにアップロードしたら、AppStoreConnectから上記の通知がきて、バイナリが無効になりました。調べた結果、UIWebView関連のエラーだったようなので、対処法をメモしておきたいと思います。 ITMS-90809: Depre…
最近、iOSアプリ開発で自社サーバーを使ったプッシュ通知を実装しました。 今まではFCM(Firebase Cloud Messaging)使った一斉配信ばかり使っていたのであまり気にしたことなかったのですが、今回自社サーバーを使ったプッシュ通知を実装してみて、TestFlig…
最近、FirebaseのCrashlyticsをアプリに導入してみたら、リリース後の不具合調査でかなり使えることがわかったので、メモとして残しております。最近、受託開発しているアプリの大幅リニューアルを行いました。状況的には以下のような感じでした。社内デバッ…
iOSアプリのプロジェクトをいつも通りビルドしたら、下記のようなエラーが出てビルドが通らない状況があったので今後の為にメモ。ScrollViewに設定してある「Content Layout Guide」でエラーが出てるっぽいのですが、対処法がわからなかったので調べてみまし…
最近Unityで作ったアプリをApp Store Connectにアップロードしようとした際に上記のようなエラーが発生したので今後の為にメモ。ERROR ITMS-90339:"This bundle is invalid. The Info.plist contains an invalid key 'UIApplicationExitsOnSuspend' in bundle…
仕事でiOSのバージョン管理ツール「CocoaPods」のバージョンを調べる機会があったので今後の為にメモ。CocoaPodsのバージョンを調べるにはターミナルを使えば簡単に確認できます。ターミナルを起動して、以下のコマンドを入力すれば、CocoaPodsのバージョン…
今までは開発中のiOSアプリをチームに共有したい場合、TestFlightにアップロードして共有していましたが、最近ipaファイルを渡す方法を試してみたのでやり方をメモしておきたいと思います。 (Xcode Ver 11.2.1) Xcodeでipaファイルを作成する方法 Xcodeでi…
最近、ビルドしたアプリをApp Store Connectにアップロードしたところ、アップロードは成功したのですが、しばらくしてAppleから「ITMS-90683: Missing Purpose String in Info.plist」という内容のメールが届きました。今回はこの対処法についてメモとして…
昨日、Xcode (version11.2)でビルドしたアプリをApp Store ConnectへアップロードしようとしたらInvalid Toolchainのエラーが出てアップロードできませんでした。試行錯誤の結果、ようやく解決できたので、今後の為に対処法を残しておきたいと思います。いつ…
AppleがiOS13をリリースしてから1ヶ月程度経ちましたが、 iOS13リリース後、初めてアプリをアップデートした際に遭遇した問題に関するメモ。Xcode11でアプリをビルドする場合、設定を追加しておかないとダークモード時に表示がおかしくなるので注意が必要で…
日記アプリ「Nikky」を久しぶりにアップデートしようとしたらXcode11でRealm関連のエラーが出てビルドできなかったので対処法をメモ。先日、iOSの最新版「iOS13」が公開されたこともあり、XcodeもXcode11になりました。Xcodeを11にアップデート後、iOSプロジ…
アプリのスクリーンショットをアップロードしようとしたら、以下のようなエラーが表示されました。無効なGeoJSON:ルーティングAppガバレッジファイルが無効です。詳細については、次のガイド「Location and Maps Programing Guide」を参照してください。スク…
仕事で端末の広告IDを取得する場面があったので今後の為にメモ。端末の広告IDについて。まず、端末の広告IDというのはどのようなものかというのは以下の記事が参考になりました。つまり「広告ID」というのは、「端末を識別する為のユニークなIDで、再生成可…
今僕が公開しているほとんどのアプリでは、「ユーザーに追加要望や不具合報告を送ってもらう」ためにメーラーを立ち上げる機能を実装してます。この機能を実装してからユーザーさんの声をアプリに反映させやすくなりました。ただ、メーラーを立ち上げてユー…
Apple Developer Programのメンバー追加に関して、ハマってしまったので今後の為にメモ。 「Apple Developer Program(個人アカウント)にメンバー追加を行う」ってことをやりたかったのですが、個人アカウントの場合、メンバー追加は行えないようです。(多…
iOSで動画再生する方法に関するメモ。以前確かやったことはありますが、久しぶりにやったら意外と時間がかかったので今後のためにメモ。今回はアプリ内に再生する動画を同梱させてそれを再生させます。 なのでまずは、再生する動画をプロジェクトに追加しま…
iOSでキーボードを表示した時に閉じるボタンが必要な場面が結構多いので今後の為にメモ。1行で入力させるTextViewであれば閉じるボタンがキーボード上に表示されますが、改行が必要な場合や2行以上あるTextViewの場合、閉じるボタンを追加した方がユーザーフ…
久しぶりにSwiftを触ったらUIViewに枠線をつける方法を忘れてしまっていたのでメモ。UIViewに枠線と色をつける方法(Swift)「borderColor」の色を変更することで枠線の色も変更できます。ただし、「borderColor」に指定するのはUIColorではなくCGColorであ…
Unityで作ったアプリでステータスバーを表示する方法を以前書いたのですが、ステータスバーの文字色を変更する必要も出てきました。上記の設定によりステータスバーを表示することはできますが、iOSの場合、ステータスバーのデフォルトの文字色は黒なのでUni…
最近Unityでアプリ内課金を実装するために「CodelessIAP」を使ってみました。簡単に実装できそうということで試してみましたが、結構罠があるので注意が必要そうです。今回はUnityのCodelessIAPでアプリ内課金を実装した感想、つまづきポイントをまとめてお…
この前、Unityで作ったアプリで特定の端末のレイアウト崩れが起きていないか確認したい状況がありました。Unityで画面サイズを確認したい端末と同じにすれば大体は確認できるのですが、ステータスバーの表示を含めたレイアウトを確認したかったので、手元な…
最近、久しぶりにiOSアプリの課金テストを行ったのですが、iOSアプリの課金テストを行うためにApp Store Connectでテスターアカウントを追加しようと思ったら、エラーが出て登録ができませんでした。調べた結果、ようやく登録できたので備忘録として残してお…
Unityでアプリ開発の仕事をしていて、 お客さんからステータスバー(時刻・電池残量)を表示して欲しいという要望がありました。 Unityで1年くらい開発していますが、ステータスバーの表示はしたことがなく、 そもそもUnityでステータスバーの表示できるのか…
Unityを使ってアプリを開発するようになってから約1年くらい経ちましたが、 Unityでアプリを開発する上で地味に厄介なのが、iPhoneXなどの縦に細長い系の端末です。iOSもAndroidも最近まではある程度画面の縦横比をそこまで考慮しなくてよかったのですが、iP…
前にMac版のGoogle Chromeでスーパーリロードする方法を紹介したのですが、iPhoneでもサイトの動作確認を行うことが多いので、iPhoneのSafariでもスーパーリロードする方法がないか調べてみたところ、できなくはないっぽいので、今回紹介しておきます。