酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

開発

Swiftで特定の文字列が格納されているインデックスを取得する

文字列を格納した配列があり、Swiftを使って特定の文字列が格納されているインデックスが知りたいことがあります。 let list = [ "松平", "上杉", "木下", "津田", "島津", "木下", "尼子" ] let foundItems = list.enumerated() .filter({ $0.element == "…

Swiftでマスク画像を使って切り抜く

Swiftでマスク画像を使って、UIImageの画像を切り抜きたい(マスキングしたい)と思います。 マスク画像を使って切り抜く マスク画像を使って切り抜くのは昔からありますが、UIImageView#tintColorが使えるようになったこともあり、最近実装することがありませ…

MKMapViewでAnnotationViewをタップしても反応しない

MapKitのMKMapViewを使って地図を表示するアプリを開発しています。 MKAnnotationViewを継承した CustomAnnotationView をタップしても MKMapViewDelegate#mapView(_:, didSelect:) が呼ばれず困っていました。 タップしてもdidSelectが呼ばれない ハマった…

#ptcgnote の更新のお知らせ

iOS向けポケモンカードゲーム(ポケカ)用デッキ構築アプリ「ptcgnote」のおしらせです。 よければお使いください。本アプリのダウンロードはこちらからお願いいたします。 デッキビルダー ptcgnoteKENJI WADA仕事効率化無料 iOS v1.0.11の更新(2019/07/10) iO…

ポケカデッキ構築アプリ「ptcgnote v1.0.0」をリリースしました

隙間時間を利用してポケモンカードゲーム(ポケカ)のデッキが構築できる「ptcgnote」をリリースしました。 ptcgnoteKENJI WADAProductivityFree 2019年のGWは10連休でお金がなかったので、ひたすらptcgnoteの開発を進めていました。 ptcgnoteについて ptcgnot…

UICollectionViewのカスタムセル上のViewが綺麗な正円形にならない

UICollectionViewのカスタムセル上のViewが綺麗な正円形にならない UICollectionViewでAuto Layoutを使ったカスタムセル上で円形のViewを表示する時に、タイミングによってViewが綺麗な円形にならず楕円形になってしまいます。 レイアウト計算後の結果がCell…

#一人GWハッカソン でポケカデッキ構築アプリを作った

2019年のGWは10連休でした。3月・4月に色々とお金が入り用だったので無一文ですし、どこかへ旅行するお金もなくて用事を作らなかったので10連休まるっと暇していました。 マツダンパー(@matsudamper)さんが、Twitterで「#一人GWハッカソン」のハッシュタグを…

SwiftでWKWebViewを使って全面WebView画面を作る

SwiftでWKWebViewを使って全面WebView画面を作りました。 WKWebViewを使って全面WebView画面を作る import UIKit import WebKit class WebViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = UI…

Swiftでカードをシャッフルする

60枚のカードを偏りなくランダムに並び替える方法として、「Fisher-Yates shufflアルゴリズムを用いて自作で配列をシャッフルさせる - Qiita」で紹介されているFisher-Yatesシャッフルアルゴリズムが有名です。調べたらWikipediaでより詳細に「フィッシャー–…

Androidアプリでアイコンバッジを表示させる

既存のAndroidアプリにアイコンバッジをつけることになりました。いままでAndroidアプリでアイコンバッジ数を厳密に管理して表示させたことがなかったので、いざ実装してみると考えていた以上に大変でした。 Playストアアプリに更新待ちが1件存在しているこ…

AndroidでColorからYCbCrを計算する

iOSでUIColorからYCbCrを求めました。 SwiftでUIColorからYCbCrを計算する - 酢ろぐ! 本記事ではAndroid-JavaでColorからYCbCrを計算してみました。 YCbCrのフォーマットについて 12年ほど前にRGB888からYCbCr422に変換するC言語のコードを書いていたようで…

SwiftでUIColorからYCbCrを計算する

コード自体はいままで何回も書いている気がしますが、自分のブログを探しても見つからなかったので、次にSwiftでRGBからYCbCrを計算したいときにコピペして使うようにの備忘録として記事を残しておきます。 YCbCrのフォーマットについて 12年ほど前にRGB888…

SwiftからKotlinへの置き換え

去年はSwiftを書いていて、久しぶりにKotlinに触ったら、Kotlin*1の書き方を忘れていたので、パッと思い出せるようにSwiftからKotlinへの移植時に使える置き換えチートシートを備忘録として残しておきます。 思い出したら追加していく。 範囲 for 文 0から3…

ipaファイルに組み込まれているembedded.mobileprovisionの中身を調べる

大昔に「Xcodeでのビルドを自動化するxcodebuildコマンドとIPAファイルを作成してiTunes Connect(Testflight)に投げる方法 - 酢ろぐ!」で書いたように、Jenkinsからxcodebuildを叩いてipaを作成しています。つい最近AdHocビルドで生成したipaファイルに含ま…

FlutterをmacOSにインストールする

Flutterのv1.0がリリースされました。約10ヶ月前にもFlutterのインストール記事を書きましたが、新しいMacBook Proにも変えたので再度Flutterのインストールからやり直したいと思います。 備忘録代わりにインストールに際してやったことを順に書いていきたい…

さくさん、インコネコのLINEスタンプを作ったってよ

僕がTwitterのアイコンに使っているのは、嫁が生み出したインコとネコのハイブリットミュータント「インコネコ」です。このアイコンに変えてから、かれこれ数年経っている気がしますが名前があったことにビックリしました。一昨日名前を聞きました。 このイ…

はてなブログの記事をblogsyncを使って一気に更新する(macOS編)

酢ろぐでのポケモン関係の記事は「関連記事」セクションが共通ですが、記事数が多くてウェブ管理画面でメンテするのがかなり厳しいです*1。そこでblogsyncを使って、はてなブログの記事をCLIで一気に更新することにしました。 備忘録代わりにブログを書きま…

iOSアプリのBundle IDの調べ方/TestFlightアプリのBundle IDを調べた

「TestFlightアプリのBundle IDがわからないか?」と聞かれたので調べる方法を調べました。 本記事執筆時点で確認できた方法で、将来的に同様に調べることができるかについてはわかりません。 Bundle IDの調べ方 Google等で検索してアプリのidを調べる TestF…

ptcgnote Privacy policy

Privacy policy of this app is written in Japanese . プライバシーポリシーについて これは本アプリケーションを利用されるユーザーのためのプライバシーポリシーです。本アプリケーションは、ユーザーのプライバシーを尊重し、ユーザーの個人情報およびア…

ptcgnote よくある質問と回答

よくある質問と回答 このページではポケモンカードゲーム(ポケカ)用デッキ構築アプリ「デッキビルダー ptcgnote」のよくある質問と回答をまとめています。 こんな機能が欲しい アプリの「問い合わせ」からご連絡ください。 もしくはアプリストアのレビューに…

Stickerのプライバシーポリシー

Privacy policy of this app is written in Japanese . プライバシーポリシーについて これは本アプリケーションを利用されるユーザーのためのプライバシーポリシーです。本アプリケーションは、ユーザーのプライバシーを尊重し、ユーザーの個人情報およびア…

ポケモンカードゲームのカードをTensorFlowで学習させて写真からどのポケモンかを判定させる

2年くらい前に「機械学習」や「ディープラーニング」といった感じにキーワードだけが先行して飛び交っていた時期がありました。猫も杓子もAIとニュースになっていました。ここ最近では、そういった流行り技術から実用技術へシフトしたのか、以前のように「デ…

iOS 12にアップデートしたところホームに表示されるアプリ名が正しく表示されなくなってしまった

Apple Watch Series 4が今日届いたので、ペアリングさせるためにiPhoneの方もiOS 12にアップデートすることにしました(諸事情によりXcodeは今もアップデートできていません)。 デバイスをiOS 12にアップデートして、ホームに表示されるアプリ名が正しく表示…

iOSのLocationManager#requestLocation()で測位にどれくらいの時間がかかっているのか調べた

iOSで現在の位置情報を1回だけ取得したい場合には LocationManager#requestLocation()を利用します。OS側で測位が完了すると、LocationManager#locationManager(manager:didUpdateLocations:) で位置情報を受け取ることができます。 どれくらいの精度だとど…

iOSで開始日と終了日から間にある年月日を求める

開始日と終了日だけを渡された状況で、開始日と終了日から間にある年月日を求める方法を紹介します。 翌日の求め方 指定された日付から翌日(次の日)を求めるにはCalendar#date(byAdding:value:to:)を使います。 let today = Date() let tomorrow = Calendar.…

AndroidアプリにOneSignal SDKを導入する

最近「OneSignal」を使ったアプリを開発しています。 OneSignalというのは、iOS/AndroidやさらにWebブラウザといったクロスプラットフォームに対応したプッシュ通知の送信サービスです。ネイティブアプリだけではなくXamarinなどにもSDKを提供しているそうで…

In-Houseバイナリに変更した途端プッシュ通知が送れなくなったので問題を切り分けた

諸事情があって、Apple Developer ProgramなアカウントAで作成していたAd-Hocアプリを、Apple Developer Enterprise ProgramなアカウントBで作り直すことになりました*1。 作り直すといっても署名関係だけの問題で、すんなりとProvisioning Profileを変えて …

Google Play Consoleでapkファイルをアップロードしたらエラーが発生した

Google Play用のアカウントが2つあって(仮にアカウントAとアカウントBとする)、いつもはアカウントBの方でAndroidアプリを公開していました。諸事情があってアカウントAの方に統合したいということになり、現在開発中のアプリをアカウントAで公開することに…

AndroidでButtonに勝手に影が入ってしまう

SDKレベルを25から27に上げた影響か今まで気付いていなかっただけか、AndroidアプリのButtonに影(shadow)が入ってしまうようになりました。今まで問題なかったのにどうして……

UIImageViewやUIButtonのbackgroundImageに特定の画像を設定するとなぜか間延びして表示されていた

特定の画像をUIImageViewやUIButtonで表示させると一部分を伸ばして表示したような……9patchみたいな表示がされていた。Images.xcassetsから特定の画像を削除して、再度追加したところ問題は発生しなくなった。 gitで差分を確認するとImages.xcassets/button_…