酢ろぐ!

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

開発

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あたりまでは正常に動いていたような…

ptcgscore:Privacy policy #ptcgscore

Privacy policy of this app is written in Japanese. (このプライバシーポリシーは日本語で書かれています) プライバシーポリシーについて これは本アプリケーションを利用されるユーザーのためのプライバシーポリシーです。本アプリケーションは、ユーザー…

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…

tweet_album/privacy_policy

tweet_album/privacy_policy

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分割と写真とマッチした分割数にしてください。 FourCroppe…

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を使って動画編集する 動画の情報を取得する 動画フォーマットを変換する 動画のサムネイル画像を取得する クロップ領域を切り出して動画を生成する 動画をリサイズ…

R.swiftを v5.2にアップデートすると rswift が消滅して R.generate.swift が生成できなくなってしまう

先日、急に R.generate.swift が生成できなくなる問題に遭遇しました。 げ。急にR.swiftが使えなくなって、調べてみたら Pods/R.swift/rswift がいなくなってる— さくさん (@ch3cooh) 2020年5月23日 R.generate.swift が生成できない R.swiftを v5.2.2 へア…

Tweet Clips:プライバシーポリシー

Privacy policy of this app is written in Japanese. (このプライバシーポリシーは日本語で書かれています) プライバシーポリシーについて これは本アプリケーションを利用されるユーザーのためのプライバシーポリシーです。本アプリケーションは、ユーザー…

Four Cropper:プライバシーポリシー

Privacy policy of this app is written in Japanese. (このプライバシーポリシーは日本語で書かれています) プライバシーポリシーについて これは本アプリケーションを利用されるユーザーのためのプライバシーポリシーです。本アプリケーションは、ユーザー…

Androidで 動画編集できるライブラリを探す (2020年5月調査)

iOSアプリで動画編集したい場合には「SwiftでAVFoundationを使って元ある動画から異なる動画を生成する (動画編集の基本編) - 酢ろぐ!」で取り上げたように、標準API(AVFoundation) を使うことで動画編集処理を実装できます。 一方、Androidではこれといっ…