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

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

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

【Unity】ネットワーク状態をチェックする方法

Unityで端末のネットワーク接続状態をチェックする方法に関するメモ。Unityで端末のネットワーク状態をチェックしたい場合は「Application.internetReachability」を使えばできます。ネットワーク接続が必要な処理を行う場合、「Application.internetReachab…

Unityで宴(うたげ)を使った時につまずいた所についてのメモ

最近、仕事でUnity用ビジュアルノベルツール「宴」 |を使いました。宴はキャラクター同士の会話シーンが簡単に作れたりするので、今後自分でアプリを作る時にも使えそうな便利なツールだと思いました。今回は、宴を使った際に遭遇したエラーやつまずいた点な…

【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のエラーが出てアップロードできませんでした。試行錯誤の結果、ようやく解決できたので、今後の為に対処法を残しておきたいと思います。いつ…

グローバルIPアドレス、プライベートIPアドレスを調べる方法

アプリ開発の仕事で、IP制限のかかったサーバーへアクセスする際にグローバルIPアドレスを調べる必要があったので、今後の参考の為に残しておきたいと思います。まず、IPアドレスは、グローバルIPアドレスとプライベートIPアドレスがあります。グローバルIP…

Macで開発元を検証できないため開けません。と表示されるファイルを開く方法

最近久しぶりのcocos2d-xアプリの開発を行ったのですが、ビルドする際に上記のようなダイアログが出てビルドエラーになってしまいました。今回はこのエラーの対処法についてメモとして残しておこうと思います。

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

iOS

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

【PHP】定義した定数や文字列を使い回す方法

phpで定義した定数や文字列を他の場所で使い回す方法。javaやswiftでは結構やってましたが、phpではやったことなかったので今後の為にメモ。定義した定数や文字列を使い回す場合、まず別のところからも参照できるようなクラスを作っておく必要があります。

【PHP】画像の縦横サイズを取得する方法

PHPで画像ファイルの縦横サイズを取得する方法に関するメモ。画像の縦横サイズを取得する方法。サーバー上にある画像ファイルの画像サイズを取得したい場合は「getimagesize」を使用すればできるっぽい。

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

iOS

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

【Android】TextViewを1行に収める、フォントを自動でリサイズさせる方法

Androidアプリ開発でTextViewに長文を入力すると、表示が切れてしまったり勝手に改行されたりしてしまうので、TextViewの表示を適切にする為のメモ。TextViewに入力した文字列が長文な場合、TextViewのサイズに収まりきらないと表示が切れてしまう場合があり…

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で、再生成可…