AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

iOSアプリ開発でipaファイルをAppStoreConnectにアップロードする場合は「Transporter」が便利!

最近、別のエンジニアさんが作成したipaファイルをAppStoreConnectにアップロードするということがありました。これまではipaファイルのアップロードはXcodeの Application Loaderを使って行っておりましたが、Application Loaderは廃止されたらしいので、今…

iOS14リリース後にXcodeで「Undefined symbol: _OBJC_CLASS_$_ATTrackingManager」のエラーが出る場合の対処法

iOS

AppleがiPhoneの最新OS「iOS14」を正式リリースしました。アプリ開発をしている人にとってiOSのメジャーアップデートは嬉しい反面、今まで動いていたアプリが動かなくなる怖さもあります。iOS14リリース後、アプリをビルドしたらエラーに遭遇して1時間くらい…

【Unity】Android SDK絡みでエラーが出てビルドできない場合の対処法に関するメモ

UnityでAndroid版をビルドした際に遭遇したAndroid SDK絡みのエラーに関するメモ。Unity バージョン2019.1.0f2を2019.3.12f1にアップデート。target SDK Android 9.0。min SDK Android 6.0。Unityバージョンアップデートによる影響なのか、しばらくビルドし…

Apple Developer Programを個人から法人に切り替える方法に関するメモ

今までAppStoreで個人開発アプリとして配信していましたが、今年法人化したこともあり、Apple Developer Programを個人名義から法人名義に最近切り替えました。ネットで調べてもあまり多くはヒットしなかったので、今後の為にログとして残しておきたいと思い…

【Unity】Google PlayのAndroidアプリ100MB制限の対処方法に関するメモ

最近Unityで開発したAndroidアプリがGoogle Playの100MB制限に引っかかってしまい、apkのアップロードに失敗してしまいました。調べた結果、対処方法があったので今後の為にメモとして残しておきたいと思います。最近知ったのですが、Google Play Consoleに…

iOSアプリのリジェクトGuideline 4.2.3 - Design - Minimum Functionalityはかなり厄介

最近、iOSアプリの申請で久しぶりに厄介なリジェクト(Guideline 4.2.3 - Design - Minimum Functionality)を受けました。 (数回リジェクトされ、現在進行中)今後のためメモとして残しておこうと思います。

iOSアプリの審査でAppleからリジェクト時にクラッシュログが送られてきた場合の不具合調査方法

最近、僕の開発したアプリがAppleからリジェクトをくらったのですが、リジェクトと一緒にAppleからクラッシュログが送られてきました。今回は、Appleからクラッシュログが送られてきた場合に不具合の原因を調査する方法に関するメモをまとめておきたいと思い…

【Unity】PlayerPrefsでBool型の値を保存する方法

Unityで開発したアプリで、設定ON・OFFのパラメータを保存したい場面があったのですが、Unityアプリのセーブデータ保存や読み込みに便利なPlayerPrefsではBool型の値は保存できないということがわかったので、どうにかPlayerPrefsでBool型を保存する方法がな…

iOSとAndroidで非同期処理する方法

iOSとAndroidで非同期処理する方法に関するメモ。重い処理や画像の読み込みを行う場合、メインスレッドで行うと固まって見えたり、メモリリークが発生する可能性があるので、そうゆう処理は非同期で処理した方がよさげ。

【Unity】アプリアイコンを綺麗に表示する為の設定

Unityで開発したアプリにアイコンを設定してビルドしたところ、端末に表示されるアイコンがぼやけて表示されることがありました。設定を変更したころ改善されたので、今後の為にメモとして残しておきたいと思います。

【iOS】アプリのバックグラウンドで音楽再生中にAVAudioPlayerを再生させると音楽が止まる現象の対処法

iOS

僕が開発したiOSアプリにユーザーから「AppleのMusicアプリをバックグラウンド音楽再生中にアプリを使用したらAppleMusicの音楽が止まってしまう」という問い合わせがありました。 実際に確認してみると、確かにAppleMusicアプリで音楽のバックグラウンド再…

【Unity】アダプティブアイコンに対応する方法

AndroidはAndroidOS8.0以上からアダプティブアイコンが採用されるようになりました。今まではアプリアイコンに関してそこまでこだわりないので対応しなくていいかなと思ってましたが、どうやらAndroid9.0以上の端末ではアダプティブアイコンに対応していない…

【Android】アプリ内課金をテストする為の手順

Androidアプリでアプリ内課金をテストする方法に関するメモ。アプリ内課金は今まで何回もやってますが、結構忘れてしまうことが多いのでまとめておきます。定期的なGoogle Play側のアップデートにより手順が変更される為、もしうまくいかない場合は手順をア…

【Unity】カラーコードで色を指定する方法

Unityでカラーコードで色を指定する方法に関するメモ。カラーコードで色を指定したい場合は、UnityEngine.ColorUtilityを使えば良さそうです。 RGB値で色指定すると、コードを結構書かないといけないですが、上記のようにカラーコードで指定すれば簡単だし入…

【iOS】TestFlightで配信したアプリでアプリ内課金のテストを行う手順

iOS

アプリ内課金のあるiOSアプリを開発してTestFlightでアプリを配信してテストしたのですが、アプリ内課金テスト手順がややこしかったので、うまくできたパターンをメモしておきます。iOSアプリのアプリ内課金テストを行う場合、まず以下の準備を行います。開…

【Unity】 Social ConnectorがiPadで動作しない場合の対処法

最近作ったUnityアプリでSocialConnector(TwitterやLineなどのSNS共有用プラグイン )を使用しているのですが、 iPhone(iOS13.3)では正常に動作するものの、iPad(iPadOS13.3)では共有アクティビティ(UIActivityViewController)が開かない現象が発生しま…

【Unity】iOSのバイナリアップロードで「ITMS-90809: Deprecated API Usage」(UIWebView)のエラーが出る場合の対処法

先日、Unityで作ったアプリをiOSのAppStoreConnectにアップロードしたら、AppStoreConnectから上記の通知がきて、バイナリが無効になりました。調べた結果、UIWebView関連のエラーだったようなので、対処法をメモしておきたいと思います。 ITMS-90809: Depre…

【iOS】TestFlightのプッシュ通知はApnsの本番サーバーに向いているっぽい

最近、iOSアプリ開発で自社サーバーを使ったプッシュ通知を実装しました。 今まではFCM(Firebase Cloud Messaging)使った一斉配信ばかり使っていたのであまり気にしたことなかったのですが、今回自社サーバーを使ったプッシュ通知を実装してみて、TestFlig…

Firebase Crashlyticsはリリース後のアプリ不具合調査にかなりおすすめ!

最近、FirebaseのCrashlyticsをアプリに導入してみたら、リリース後の不具合調査でかなり使えることがわかったので、メモとして残しております。最近、受託開発しているアプリの大幅リニューアルを行いました。状況的には以下のような感じでした。社内デバッ…

【Android】アプリ内で端末の操作音(カチカチ音)を鳴らさないようにする設定

私が開発しているAndroidアプリで一部のユーザーから「アプリの操作中にカチカチ音がなる」「変な音が出るので止めて欲しい」というようなレビューがありました。カチカチ音が再現できるか試してみたのですが、私の端末では再現できませんでした。気持ち悪い…

【iOS】Content and frame layout guides before iOS11.0のエラーの対処法

iOS

iOSアプリのプロジェクトをいつも通りビルドしたら、下記のようなエラーが出てビルドが通らない状況があったので今後の為にメモ。ScrollViewに設定してある「Content Layout Guide」でエラーが出てるっぽいのですが、対処法がわからなかったので調べてみまし…

【iOS】App Store Connectへアプリアップロード時に「ERROR ITMS-90339」のエラーが出る場合の対処法(Unity)

最近Unityで作ったアプリをApp Store Connectにアップロードしようとした際に上記のようなエラーが発生したので今後の為にメモ。ERROR ITMS-90339:"This bundle is invalid. The Info.plist contains an invalid key 'UIApplicationExitsOnSuspend' in bundle…

【Unity】枠画像を綺麗に引き延ばす方法(スライス)

Unityで作るアプリで、ゲーム内のキャラが会話するシーンとか、ダイアログが表示されたりするシーンを作ることが結構あるのですが、上記のようなフレームを表示させたい場合、今までは原寸大のフレームを用意して使ってました。原寸大のフレームを用意する場…

【Android】「The application may be doing too much work on its main thread.」の対処法

Androidアプリを開発していて、どうもアプリの挙動がおかしいので、Logcatをみてみたら、以下のようなログが出力されていました。The application may be doing too much work on its main thread. 調べてみると、このようなログが出力される場合、メインス…

【Unity】Gifアニメを再生する方法

UnityでGifアニメを再生させようとしたら意外と厄介だったので今後の為にメモ。iOSやAndroidのネイティブ開発ではGifアニメ再生で詰まった記憶がなかったのでUnityでも簡単に再生できると思ってましたが、UnityではGifアニメの再生を標準サポートしていない…

【iOS】CocoaPodsのバージョンを調べる方法

iOS

仕事でiOSのバージョン管理ツール「CocoaPods」のバージョンを調べる機会があったので今後の為にメモ。CocoaPodsのバージョンを調べるにはターミナルを使えば簡単に確認できます。ターミナルを起動して、以下のコマンドを入力すれば、CocoaPodsのバージョン…

【Android】HttpClientをAndroid9以上(targetSDK28)で使う方法

ogle Playの規約変更により2018年11月からAndroidアプリをアップデートする場合、targetSDK28以上にしないといけなくなりました。初版リリースから1年くらいのアプリであれば大した話ではないかと思うのですが、仕事で運用しているアプリは5年前くらいに作ら…

【Unity】画像のファイルパスからSpriteを作成する方法

Unityで画像のファイルパスからSpriteを作成し、使用する場合に関するメモ。 今まではUnityで画像を表示する場合、Scene上にImageオブジェクトを設置して、画像ファイル名を指定していましたが、 画像を一覧で使用する場合などで結構面倒な場合が多くありま…

【Unity】アプリバージョンをコードから取得する方法

Unityで作ったアプリでアプリのバージョンを取得する方法に関するメモ。 Unityで作ったアプリのバージョンは、BuildSettingのPlayerSettingから確認、変更ができますが、コードから取得する方法がわからなかったのでメモ。

【Unity】ScrollViewの表示位置をコードから一番上に設定する方法

UnityでScrollViewを使ってリストを表示する場合、一回表示した後にリストの中身を入れ替えてもう一度表示すると最初に表示した位置で表示されてしまう場合があったので、もう一度表示する場合、スクロールの表示位置をコードで一番上に持っていく方法に関す…