AppSeedのアプリ開発ブログ

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

iOS

FBAdConfigManager is a final class and cannot be subclassed. FBAdConfigManagerのエラーに関するメモ

Unityで作ったアプリでXcodeプロジェクトを出力してビルドをした時に以下のエラーが発生してしまい結構手間取ってしまったので今後のためにメモとして残しておきたいと思います。Uncaught exception: FBFinalClassViolationException: FBAdConfigManager is …

【iOS】Firebase Messaging関連のエラー「FIRMessaging setShouldEstablishDirectChannel」に関するメモ

Unityで開発したiOSアプリにFirebase Messagingを導入したのですが、アプリをバックグラウンドに移行させるとアプリがクラッシュしてしまう現象が発生したので、今後の為にメモを残しておきたいと思います。

iOS14のAppTrackingTransparency関連のリジェクトに関するメモ

iOS14のIDFAオプトイン関連の対応を行った際にAppleからリジェクトを受けたので、今後の為にメモとして残しておきたいと思います。iOS14のIDFAオプトイン問題に関しては以下が参考になるかと思います。

Admob広告は今後、アプリリリース時に表示できなくなりそう

先日、脱出ゲーム第2段「忍者屋敷からの脱出」をリリースしました!無事リリースはできたのですが、前回のアプリリリース時と同様にiOS版のAdmob広告が表示されない問題に直面してしまい、予定していたリリース日が1週間程度延びてしまう結果となりました..…

【iOS】縦画面固定アプリがiPadで回転してしまう場合にチェックすべき点

iOS

iOSアプリのユーザーさんから、「アプリの起動中に画面が回転して表示がおかしくなってしまう」という報告を受けました。調査したところ、手持ちのiPhoneでは再現できず、iPadで再現できました。(報告をしてくれたユーザーもiPadユーザー)調査の結果、対処…

App Store Small Business Programの申請、通ったっぽい!

App Store Small Business Programの申請を2週間くらい前に行なったのですが、先日Appleより審査完了?っぽいメールが届いたので、それまでの経緯含めてまとめておきたいと思います。

個人開発アプリのプレスリリースに関するメモ

先週末(12月5日)に脱出ゲームアプリMEMORYをリリースしたのですが、今回、初めての試みとして、プレスリリースをやってみることにしました。やってみた感想としては、やる価値結構あるなと感じたので、今後の為にメモとして残しておきたいと思います。

iOSアプリのリジェクトGuideline 5.2.1 - Legal - Intellectual Propertyに関するメモ

最近、脱出ゲームアプリMemoryをリリースしたのですが、不具合修正の為にアップデート申請を行ったところ、「Guideline 5.2.1 - Legal - Intellectual Property」のリジェクトを受けました。対策を行った結果、無事アップデート審査が通ったので今後の為にメ…

AdMobのポリシー違反はマジで気をつけた方がいい

今回、MEMORYのリリースにあたり色々と準備を進めていたのですが、AdMobのポリシー違反の影響をかなり受けてしまったので、今後の参考のために教訓を残しておきたいと思います。最初に結論を言っておくと、「AdMobのポリシー違反はマジで気をつけた方がいい…

【Unity】iOSのアプリ内レビューをUnityで実装する方法

UnityでiOSのネイティブ機能を使いたい場合、通常はUnityからiOSのメソッドを呼び出せるようにPluginを作る必要があるので、レビュー依頼機能もPlugin作らなきゃいけないなーと思っていたのですが、 Unity側でiOSレビュー依頼機能を呼び出せるようになったら…

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時間くらい…

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

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

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

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

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

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

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

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

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

iOS

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

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

【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…

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

iOS

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

【iOS】ipaファイルの作成方法

今までは開発中のiOSアプリをチームに共有したい場合、TestFlightにアップロードして共有していましたが、最近ipaファイルを渡す方法を試してみたのでやり方をメモしておきたいと思います。 (Xcode Ver 11.2.1) Xcodeでipaファイルを作成する方法 Xcodeでi…

【iOS】ITMS-90683: Missing Purpose String in Info.plistのエラーの対処法

最近、ビルドしたアプリをApp Store Connectにアップロードしたところ、アップロードは成功したのですが、しばらくしてAppleから「ITMS-90683: Missing Purpose String in Info.plist」という内容のメールが届きました。今回はこの対処法についてメモとして…

Xcode11.2でApp Store Connectへのアップロードエラー(Invalid Toolchain)が発生した場合の対処法

iOS

昨日、Xcode (version11.2)でビルドしたアプリをApp Store ConnectへアップロードしようとしたらInvalid Toolchainのエラーが出てアップロードできませんでした。試行錯誤の結果、ようやく解決できたので、今後の為に対処法を残しておきたいと思います。いつ…

iOS13のダークモードの罠【iOSアプリ開発】

iOS

AppleがiOS13をリリースしてから1ヶ月程度経ちましたが、 iOS13リリース後、初めてアプリをアップデートした際に遭遇した問題に関するメモ。Xcode11でアプリをビルドする場合、設定を追加しておかないとダークモード時に表示がおかしくなるので注意が必要で…

【iOS】Xcode11でRealmのエラー「Terminating app due to uncaught exception 'RLMException」が発生する場合の対処法

iOS

日記アプリ「Nikky」を久しぶりにアップデートしようとしたらXcode11でRealm関連のエラーが出てビルドできなかったので対処法をメモ。先日、iOSの最新版「iOS13」が公開されたこともあり、XcodeもXcode11になりました。Xcodeを11にアップデート後、iOSプロジ…