酢ろぐ!

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

開発

ASO、何をやれば良いかわからん (2021年1月版)

つい先日App Storeに掲載しているスクリーンショットを更新したばかりですが「ASOをきちんとした方が良い」と言われた。ストアのスクショを更新しただけではASOをしたことにならないらしい。 ASOとは「Application Store Optimization」の頭文字をとった略称…

AdMobの広告メディエーションを使って複数のアドネットワークを利用する

アプリ広告といえば AdMob ですね。Four Cropperでは画面のフッターに AdMob のバナー広告を表示させるシンプルな実装となっています。 Four CropperKENJI WADAユーティリティ無料 「Four Cropper」は大きな写真をTwitterに掲載するのに適切なアスペクト比に…

CropViewController が v2.6.0 になって Deployment Target が iOS 12.0に設定されているようになった

iOSアプリで画像をクリッピングすると言えば、利用するライブラリはほぼ TOCropViewController 一択です。 github.com TOCropViewControllerには Objective-C向けのTOCropViewController と Swift向けの CropViewController との両方のライブラリが混在して…

画像を四分割するアプリ「Four Cropper」のApp Store上に表示されるスクリーンショットを更新しました

少し前に大きな写真を四分割してTwitterに投げる遊びが一時期流行っていました。 自分でも簡単に写真を適当なアスペクト比で分割して投稿できるアプリが「Four Cropper」です。なぜかフランスとイタリアでウケているのに驚きます。 Four CropperKENJI WADAユ…

W-8BENの書き方

W-8BENの書き方は、三菱UFJ銀行の「カルフォルニアアカウント・プログラム 申込書 記入の手引き」がもっともわかりやすかった。 https://www.bk.mufg.jp/tsukau/kaigai/kouza/cali/pdf/caliaca_kinyuure.pdf

Bitrise のXcode 12.3.xスタックでビルドしたバイナリが App Store へアップロードできない

12月15日に Xcode 12.3 Release版がリリースされました。当日中にXcodeをアップデートして「iOSシミュレータの画面が黄色くなる不具合」など踏んでStack Overflowに初めての書き込みをしたことなど今となっては良い思い出です。 Bitriseとは 今年に入ってか…

Xcode 12.3のiOS 14.3シミュレータを起動すると画面が黄色くなってしまう問題を解決した

今朝起きたらXcode 12.3が公開されていたので、Xcode 12.3をダウンロードして開発中のアプリが動くかどうか検証しようとしたところ、UIAlertControllerが真っ黄色になっていたので腰をぬかしました。すんげえエンバグしてもうたと慌てて原因を調査しました。…

iOSアプリのdSYMファイルをBitriseからFirebase Crashlyticsへアップロードする #bitrise #bitrisearticle

この記事は、Bitrise Advent Calendar 2020の1日目の記事です。夕食を食べて帰ってきてアドベントカレンダーを覗いたところ、20時時点で誰もエントリーしていなかったので書くことにしました。 Bitriseとは 今年に入ってからこのブログでも、Bitriseを使って…

なにもしてないのに Googleスプレッドシート のCSVファイルがダウンロードできなくなった

Google Spreadsheetに記入した内容をデータソースにして、curlでダウンロードしてデータを加工する処理をたくさん作っています。11月18日(水)の午前中にGoogle SpreadsheetからCSVファイルのダウンロードができない現象が発生していることに気が付きました。…

Carthage経由での FirebaseAdMobBinary v7.1.0 のインストールに失敗する

昨日、Firebase iOS SDKが v7.1.0 にアップデートされた。Bitriseでのビルド時間を最短にするためにFirebase iOS SDKもCarthage経由でインストールしている。 いくつかのプロジェクトでライブラリのアップデートを実行していったところ、とあるプロジェクト…

CarthageでNYTPhotoViewerをアップデートすると10月23日以降ビルドエラーが発生する

「BitriseでXcode12+Carthageを使ってiOSアプリをビルドしよう! - 酢ろぐ!」のエントリを書いてから、僕は開発中のプロジェクトをXcode 12+Carthage環境に戻しています。 Firebase関係をCarthage経由でインストールできるのでCIでのビルド時間が2〜3分短縮…

CocoaPodsをv1.10にアップデートすると cocoapods-binaryを使っているプロジェクトでビルドエラーが発生する

Xcode 12でCarthageが使えなくなって、CocoaPods + cocoapods-binary の構成に移行した方は多いのではないかと思います。僕もそのうちのひとりです。 CocoaPodsはCIサービスでリリースビルド(ipaファイルをエクスポート)する際には毎回フルビルドされます。…

BitriseでXcode12+Carthageを使ってiOSアプリをビルドしよう!

Xcode 12になって悲しいことにCarthageが使えなくなりました。説明するまでもありませんが、CarthageはiOSアプリ開発の主要なパッケージマネージャーのひとつです。 開発を止められないお仕事アプリは即日ですべてCocoaPodsへ移行しました。CocoaPodsは導入…

Xcode12でCocoaPods以外の方法でFirebaseをインストールするとAppStoreへのアップロード時に失敗する

Firebase for iOS SDKの正式な導入方法としては、CocoaPods経由でインストールすることになっています。 しかし、CarthageまたはSwiftPMでの導入方法はまだベータ版扱いですが導入手段が提供されています。Xcode 12 betaあたりまでは正常に動いていたような…

Tweet Clips

本ページでは「Tweet Clips」(以下ツイクリと記す)の使い方を説明します。ツイクリは、あなたのお気に入りのツイートを保存するためのアプリです。 Tweet Clips(ツイクリ)KENJI WADAユーティリティ無料apps.apple.com

Tweet Clips (ツイクリ)の使い方

本ページでは「Tweet Clips」(以下ツイクリと記す)の使い方を説明します。ツイクリは、あなたのお気に入りのツイートを保存するためのアプリです。 Tweet Clips(ツイクリ)KENJI WADAユーティリティ無料apps.apple.com このページではツイクリの使い方と既…

How to use Tweet Clips

This page explains how to use "Tweet Clips". "Tweet Clips" is an application that allows you to save your favorite tweets. Tweet ClipsKENJI WADAUtilitiesFreeapps.apple.com This page describes how to use "Tweet Clips" and its known bugs. Sa…

iOS 14でナビバーの戻るボタンを長押しすると画面スタックのリストが表示されるようになったので無効にしたい

iOS 14でナビゲーションバーの戻るボタンを長押しすると、画面スタックのリストが表示されるようになりました。この挙動を無効化したいと考えています。 実行環境 Xcode 12.0.1 iOS 14.0.1 問題 iOS 14でナビゲーションバーの戻るボタンを長押しすると、画面…

最新のFirebase SDKをインストールすると「Use of unresolved identifier 'FirebaseApp'」エラーが発生する

最新のFirebase SDKをインストールすると「Use of unresolved identifier 'FirebaseApp'」エラーが発生するようになった。 Use of unresolved identifier 'FirebaseApp' 解決編 import Firebase から import FirebaseCore に変更する // import Firebase imp…

Andriodで 動画ファイルを保存するとギャラリーには表示されるがサムネイルが表示されない/再生できない

FFmpeg for Andriodで書き出した動画ファイルを保存したあと、ギャラリーアプリで確認すると動画のサムネイルが表示されていない不具合があり、再生もできない。静止画を保存した場合は、特に問題なくサムネイルが表示されていた。 下記のデバイスにて検証し…

FFmpeg for Androidを使っている場合、target sdkを29にすると処理に失敗するようになる

Projectレベルの build.gradle のtarget sdkを 29 にすると、Android Q(10)上でFFmpeg for Androidでの処理に失敗することがわかった。 Target SDKが29だとPermission deniedが発生する 生成したコンテンツをギャラリーに保存するためにコードを書いていてAn…

Androidで テキストを縦方向の中央揃えで描画できない

縦方向の中央揃えでテキストを描画できない 期待する動作。 現実。尻尾(descent)の分だけ下方向にズレてします。 問題点 paint.getTextBoundsで、文字の高さは取得できる… 取得した高さを使って、描画領域を求めることはできる。 しかし、drawTextで描画する…

Bitriseの記事を書いたらBitriseグッズが送られてきた!

最近Bitriseの記事をよく書きます。……というのも弊社でも遅まきながらJenkinsを捨ててBitriseを利用することになったからです。 無料枠だと10分制限*1、有料枠であれば90分制限と1ビルドあたりの時間制限があります。iOSアプリはライブラリを利用していると…

大きな写真を分割してTwitterでシェアするアプリ「Four Cropper」を2時間で作った

嫁に出かけるので近くの喫茶店で待っておいてと言われ、喫茶店で待つ間あまりにも暇だったので即興で思いついたアプリを作りました。 写真を選び、分割して Twitterへシェアします。2分割・3分割・4分割と写真とマッチした分割数にしてください。 Four Cropp…

iOSで UIAlertControllerを表示すると「width == - 16」の制約エラーが発生する

iOS 13.5 になっても一向に修正される気配がないので仕方なく対応することにした。この現象はiOS 12.2〜13.5で発生することが確認されているらしい。 UIAlertControllerを表示すると制約エラーが発生する ごく普通に UIAlertController を使ってアクションシ…

AndroidアプリがTransactionTooLargeExceptionでクラッシュする

Androidアプリで画像ビューア画面を表示するとTransactionTooLargeExceptionが発生してクラッシュする問題に頭を悩ませていた。 発生している状況について MainActivity (ホームFragment) → DetailActivity (詳細Fragment → リストFragment ) → ImageActivit…

iOS 13.0以降で「モーダルで開いた画面」上でUIActivityViewControllerを使うと「モーダルで開いた画面」まで閉じられる現象

iOS 12.4のiPhone Xでは発生しておらず、iOS 13デバイスでのみ発生している事象です。 iOS 13.0以降、「モーダルで開いた画面」上で UIActivityViewController を使うと「モーダルで開いた画面」まで閉じられます。 発生する現象 画面A -> fullScreenのモー…

Bitriseで Xcode 11.5を使ってビルドしたIPAファイルが App Store Connect に拒否される

先週末あまりにも暇だったので「Four Cropper」というアプリを開発しました。 Four CropperKENJI WADAユーティリティ無料 最近は動画編集に凝っているので、大きな動画を四分割してTwitterに投稿したら面白いんじゃないか?という発想で進めたものの、ひとつ…

Androidで 静止画と動画のピッカーで選択したコンテンツのファイルパスを取得する

Androidで 静止画と動画のピッカーを表示して、単一のコンテンツを選択する方法です。 静止画と動画のピッカーを表示する 選択したコンテンツのURIを取得する 「ファイルパスを取得する権限」を取得する URIからファイルパスを取得する 参考記事 動画確認環…

ffmpegを使って動画編集する

動画編集を扱うので一番簡単なのは ffmpeg を使うことです。 macOSへのインストール ffmpegを使って動画編集する 動画の情報を取得する 動画フォーマットを変換する 動画のサムネイル画像を取得する クロップ領域を切り出して動画を生成する 動画をリサイズ…