テクノモンキーのアプリ開発日記

テクノモンキーの開発ブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsやアプリ開発に役立つ情報を発信します。

Android 9.0で「No Network Security Config specified」エラーでHTTPリクエストが失敗する場合の対処法

Androidアプリ開発をしていた時に、下記のエラーが発生してHTTPリクエストが失敗してしまうことがあったので、今後の為にメモ。D/NetworkSecurityConfig: No Network Security Config specified, using platform default W/System.err: java.io.IOException:…

【Android】apkをエミュレーターにインストールする方法

Androidアプリ開発をしていると、特定の機種やOSバージョンのみで発生する機種依存があったりします。そうゆう場合、実機で確認できればベストですが、なかなか条件になった端末を持ち合わせている時は少ないです。そんな時はエミュレーターで確認したりする…

Android Studioで作成したエミュレーターを削除する方法

最近久しぶりにAndroid Studioを使ってみたら、過去に作ったエミュレーターが大量に残っていました。整理しようとしたのですが、エミュレータを削除する場所が少しややこしかったので今後の為にメモとして残しておきたいと思います。いつも、Android Studio…

【PHP】DBにレコードをINSERT後、追加したレコードのIDをすぐに取得する方法

DB(MySQL)にレコードを追加後、追加したレコードに割り振られたIDを取得して返す方法に関するメモ。やりたいこととしては、アプリからAPIでユーザー登録を行う際、追加したレコードに自動で割り振られるID(AUTO_INCREMENT)をすぐに取得して、アプリに返…

【Unity】テキストにURLリンクを実装する方法

Unityアプリ開発の仕事で「テキスト内のURLをタップしたらブラウザ起動する」っていう要件がありました。Unityの既存のuGUIの「Text」ではURLリンクに対応してなかったので、多少手を加える必要があるようです。今回は「UnityでテキストにURLリンクを実装す…

【cocos2d-x】Android版の64bit化に関するメモ

2019年8月1日からGoogle Playで公開するアプリが64bit化必須になったことで、アプリ開発の仕事でAndroidアプリの64bit化を行う機会が増えました。先日、cocos2d-xで作られたアプリのAndroid版を64bit化する事があったので、今後のためにメモとして残しておき…

【Android】apkが64bit対応済みアプリか確認する方法(Mac)

2019年8月1日からGoogle Playで公開するアプリは64bit対応が必須となりました。仕事でアプリの64bit対応を何回かやったのですが、一応64bit対応の方法を調べてやってみたものの、出力されたアプリがちゃんと64bit対応済みのアプリか?はぱっと見だとわかりま…

【Unity】Androidの64bit対応版アプリをアップロードしても32bitアプリとして認識される場合の対処法

2019年8月1日からGoogle Playで公開するアプリは64bit対応が必須になったらしいです。Googleが以前から告知していたことや、ちょっと前にapkアップロード時に警告が出るようになってきたこともあり、ちょっと前にUnityで作ったAndroidアプリを64bit対応にす…

AppStoreConnectで「無効なGeoJSON:ルーティングAppガバレッジファイルが無効です。」のエラーが出る場合の対処法

アプリのスクリーンショットをアップロードしようとしたら、以下のようなエラーが表示されました。無効なGeoJSON:ルーティングAppガバレッジファイルが無効です。詳細については、次のガイド「Location and Maps Programing Guide」を参照してください。スク…

アプリから端末の広告IDを取得する方法(iOS,Android)

仕事で端末の広告IDを取得する場面があったので今後の為にメモ。端末の広告IDについて。まず、端末の広告IDというのはどのようなものかというのは以下の記事が参考になりました。つまり「広告ID」というのは、「端末を識別する為のユニークなIDで、再生成可…

【Android】アプリからgmailにテキストを自動送信させる方法(サーバーを使わない)

先日、サーバーを使わないでアプリからgmailにテキストを自動する方法を紹介しました。前回はiOS版だったので、今回はAndroid版です。Androidの場合はjavamailというライブラリを使用します。上記の例だと、画面上のボタンを押したタイミングで、EditTextに…

【iOS】アプリからgmailにテキストを自動送信させる方法(サーバーを使わない)

iOS

今僕が公開しているほとんどのアプリでは、「ユーザーに追加要望や不具合報告を送ってもらう」ためにメーラーを立ち上げる機能を実装してます。この機能を実装してからユーザーさんの声をアプリに反映させやすくなりました。ただ、メーラーを立ち上げてユー…

【Android】AdMobで 「Ad failed to load : 3」のエラーが出て広告が表示されない場合の対処法

AndroidアプリにAdMobを組み込んだ際、以下のようなエラーが出て広告が表示されません。今回はこのエラー内容と対処法についてのメモです。App does not have the required permissions to get location.SDK version: afma-sdk-a-v16187999.15300000.1 Ad fa…

【Unity】Buttonが反応しない場合に確認すべきことまとめ

Unityで設置したButton(ボタン)が反応しない場合っていくつかの原因が考えられますが、今回、今までに経験していないボタンが反応しないパターンに遭遇したのでメモとして残しておきたいと思います。状況・現象としては、Buttonをタップしても反応しない(…

【Unity】プレイヤーでどのシーンから再生しても最初のシーンから起動するようにする設定

Unityアプリ開発での効率化に関するメモ。Unityで複数のシーンを使ったアプリを作る場合、他の画面でも使うようなGameObjectを「DontDestroyOnLoad」で永続化させることが結構あります。他のシーンでも使うオブジェクトは、だいたいアプリを起動するシーンで…

Android Studioで公開用apk署名用のキーストアを作成する方法

新しくKeyStoreを作成する必要があったので、Android Studioで作成してみました。開発ツールでキーストア作成したのはEclipse時代以来ですが、ターミナルで作成するのに比べると、GUIが用意されている分、わかりやすい感じがします。Android Studioで公開用a…

Apple Developer Programのメンバー追加は、個人アカウントでは出来ないっぽい?

Apple Developer Programのメンバー追加に関して、ハマってしまったので今後の為にメモ。 「Apple Developer Program(個人アカウント)にメンバー追加を行う」ってことをやりたかったのですが、個人アカウントの場合、メンバー追加は行えないようです。(多…

AndroidでUIを組むならLinearLayoutのweightSumを使うと早いかも

iOSの場合、XcodeのGUIツールで簡単に組むことができますが、AndroidはXmlで組む必要があるので、iOSの比べると少々面倒です。(AndroidもGUIツールで組めるけど、結構癖がある気がする)個人的にはAndroidでUIを組む時はLinearLayoutのweightSumのが一番組…

【Unity】DateTimeクラスにnullを設定したい場合の対処法(C#)

Unityでカレンダー画面を実装するためにDateTimeクラスを使用したのですが、 DateTimeクラスはそのままだとnullが設定できないっぽいです。 今回はDateTimeクラスにnullを設定する方法に関するメモです。DateTimeクラスにnullが設定できれば何も問題なかった…

【Android】アプリ内で動画を再生する方法(Java)

前に書いた、iOSでアプリ内で動画を再生する方法のAndroid版。ネットで調べた方法だと、動かないものが結構あったので、意外と時間がかかった。流れとしては、元のActivityから遷移したタイミングで動画を再生して、再生完了時点でActivityを終了させて元のA…

【Unity】Imageのスプライトをスクリプトで切り替えるとアスペクト比がおかしくなる場合の対処法

UnityでImageのSpriteをコードで切り替える処理を行ったのですが、画像自体は切り替えられるけど、アスペクト比がおかしくなる現象が発生しました。やりたいこととしては、シーンにImageを配置して、カレンダーの日付に応じてスクリプトでImageのSpriteを切…

【iOS】アプリ内で動画を再生する方法(Swift)

iOS

iOSで動画再生する方法に関するメモ。以前確かやったことはありますが、久しぶりにやったら意外と時間がかかったので今後のためにメモ。今回はアプリ内に再生する動画を同梱させてそれを再生させます。 なのでまずは、再生する動画をプロジェクトに追加しま…

【iOS】UITextViewでキーボードに閉じる(完了)ボタンを追加する方法(Swift)

iOS

iOSでキーボードを表示した時に閉じるボタンが必要な場面が結構多いので今後の為にメモ。1行で入力させるTextViewであれば閉じるボタンがキーボード上に表示されますが、改行が必要な場合や2行以上あるTextViewの場合、閉じるボタンを追加した方がユーザーフ…

【iOS】UIViewに枠線と色をつける方法(Swift)

iOS

久しぶりにSwiftを触ったらUIViewに枠線をつける方法を忘れてしまっていたのでメモ。UIViewに枠線と色をつける方法(Swift)「borderColor」の色を変更することで枠線の色も変更できます。ただし、「borderColor」に指定するのはUIColorではなくCGColorであ…

【Unity】アプリのFPSを確認する・FPS設定を変更する方法

Unityで作ったアプリでクライアントから「Android版の動作がもっさりしている」という指摘を受けたので、高速化する方法を色々調べていたら、FPS(Flames Per Seconds)を変更する方法があったので試してみました。【Unity】FPSを確認する方法まず、現状のア…

【Unity】ランダムな値を生成する方法と、UnityEngine.RandomとSystem.Randomの競合について(C#)

Unityでランダムな値を生成する方法に関するメモ。ランダムな値を生成したい場合はUnityEngine.Random.Rangeを使用します。上記の例だと、0以上100未満(99まで)の値の中からランダムで値を生成します。第2引数の値はランダムな値に含まないのがポイントで…

【Unity】ゲームオブジェクトの表示順(レイヤーの重ね順)の問題を解決する方法

Unityでアプリを作っている時に、UIのImageとSpriteの表示順(レイヤーの重ね順)が意図した順番にならなくて困ったので今後の為にメモ。ゲームオブジェクトの重ね順が意図した表示にならない。Hierarchy上で順番を変更してみたり、ゲームオブジェクト毎にレ…

【Unity】iOSのステータスバーの文字色を変更する方法

Unityで作ったアプリでステータスバーを表示する方法を以前書いたのですが、ステータスバーの文字色を変更する必要も出てきました。上記の設定によりステータスバーを表示することはできますが、iOSの場合、ステータスバーのデフォルトの文字色は黒なのでUni…

禁煙勇者(禁煙応援アプリ)がウーマンエキサイトで紹介されました!

自分の禁煙サポートのために作ったアプリ「禁煙勇者」がウーマンエキサイトというサイトで紹介されていました!アプリ系のサイトで紹介されたことは何回かあったのですが、普通の情報系のサイトでアプリを紹介されたことはなかったのでびっくりです。今回禁…

【Unity】intの値が5の倍数かを判定する方法(C#)

Unityアプリ開発で「リスト表示でアイテム5個毎に線を引く」という実装をする時に リストのindexの値が5の倍数かどうかを判定する必要があったのでメモ。〇〇の倍数かを判定する。まずコードを書く前に5の倍数かどうかを判定するロジックを理解する必要があ…