開発-iOS
「BitriseでXcode12+Carthageを使ってiOSアプリをビルドしよう! - 酢ろぐ!」のエントリを書いてから、僕は開発中のプロジェクトをXcode 12+Carthage環境に戻しています。 Firebase関係をCarthage経由でインストールできるのでCIでのビルド時間が2〜3分短縮…
Xcode 12でCarthageが使えなくなって、CocoaPods + cocoapods-binary の構成に移行した方は多いのではないかと思います。僕もそのうちのひとりです。 CocoaPodsはCIサービスでリリースビルド(ipaファイルをエクスポート)する際には毎回フルビルドされます。…
Xcode 12になって悲しいことにCarthageが使えなくなりました。説明するまでもありませんが、CarthageはiOSアプリ開発の主要なパッケージマネージャーのひとつです。 開発を止められないお仕事アプリは即日ですべてCocoaPodsへ移行しました。CocoaPodsは導入…
Firebase for iOS SDKの正式な導入方法としては、CocoaPods経由でインストールすることになっています。 しかし、CarthageまたはSwiftPMでの導入方法はまだベータ版扱いですが導入手段が提供されています。Xcode 12 betaあたりまでは正常に動いていたような…
iOS 14でナビゲーションバーの戻るボタンを長押しすると、画面スタックのリストが表示されるようになりました。この挙動を無効化したいと考えています。 実行環境 Xcode 12.0.1 iOS 14.0.1 問題 iOS 14でナビゲーションバーの戻るボタンを長押しすると、画面…
最新のFirebase SDKをインストールすると「Use of unresolved identifier 'FirebaseApp'」エラーが発生するようになった。 Use of unresolved identifier 'FirebaseApp' 解決編 import Firebase から import FirebaseCore に変更する // import Firebase imp…
iOS 13.5 になっても一向に修正される気配がないので仕方なく対応することにした。この現象はiOS 12.2〜13.5で発生することが確認されているらしい。 UIAlertControllerを表示すると制約エラーが発生する ごく普通に UIAlertController を使ってアクションシ…
iOS 12.4のiPhone Xでは発生しておらず、iOS 13デバイスでのみ発生している事象です。 iOS 13.0以降、「モーダルで開いた画面」上で UIActivityViewController を使うと「モーダルで開いた画面」まで閉じられます。 発生する現象 画面A -> fullScreenのモー…
先週末あまりにも暇だったので「Four Cropper」というアプリを開発しました。 Four CropperKENJI WADAユーティリティ無料 最近は動画編集に凝っているので、大きな動画を四分割してTwitterに投稿したら面白いんじゃないか?という発想で進めたものの、ひとつ…
先日、急に R.generate.swift が生成できなくなる問題に遭遇しました。 げ。急にR.swiftが使えなくなって、調べてみたら Pods/R.swift/rswift がいなくなってる— さくさん (@ch3cooh) 2020年5月23日 R.generate.swift が生成できない R.swiftを v5.2.2 へア…
現在、iOSアプリ内での動画編集機能を実装しています。 過去に 動画にウォーターマークをつける方法については調査済みでしたので、簡単に対応できると考えていましたが、謎のアプリクラッシュ現象が発生してしまいお手上げになってしまいました。 左:ウォ…
SwiftでAVFoundationを使って動画を編集をできるようになりたいと考えている。まずは基本を抑えるために、元ある動画の情報をそのまま使って異なる動画を生成する処理を本記事では紹介したい。 本記事は「AVFoundationを使ったiOSの動画編集 - Qiita」を参考…
UIImagePickerControllerを使うと静止画を選択することができます。それだけではなく動画も選択することが可能です。選択した静止画(または動画)はPHAssetオブジェクトの形でデータを扱うこととなります。 本記事では、取得したPHAssetオブジェクトからサ…
Bitriseで iOSアプリのビルドが遅いのは Firebase SDKが原因なのか検証しました。 検証した理由としては、CocoaPods経由でしかインストールできない Firebase SDK を頑張ってCarthage経由にした場合にどれくらいビルド時間を短縮できるのかのおおまかな指標…
普段デバッグ時などは気にならないのですが、ipaファイルを生成する(アーカイブする)と、とても時間がかかって困ります。「bitrise.ioでiOSアプリのビルド速度を高速化したい!」という気持ちで、昨晩から cocoapods-binary の評価をしています。 github.com…
iOS 13以降で、UISearchBarを navigationItem.titleView に設定している場合や、UISearchControllerを navigationItem.searchController に設定している場合、ドリルダウンで画面遷移して戻ってくると、画面がめり込んでしまう問題があります。これは UISear…
UISearchControllerを使うと、入力したテキストをベースにして検索結果を表示させられます。OSとして標準的な検索手段をユーザーに提供することができます。 ただ、検索結果の絞り込みに UISearchController を使っている例は多いのですが、実際には navigat…
開発中のアプリでFacebook認証したいという要件が追加され、およそ2年ぶりにFacebook SDKを導入することになった。CIがJenkinsではなくbitriseに移行しているため、ビルド時間短縮のためにCarthage経由でインストールしたらしっちゃかめっちゃかになった記録…
動画生成について知識を深める必要がでてきました。まずは簡単なところから始めるべく複数枚の静止画から動画(mp4)を生成しました。Xcode 11.3.1 / Swift 5.1を使って実装しています。 事前準備 事前に用意したものは3枚の静止画です。1024 x 1024 ピクセル…
2020年になってから本格的にBitriseを使うようになりました。いままでJenkinsを使っていましたが、Jenkins係に負荷が押しつけられることになっていました。 BitriseはCIサービスのなかでもかなり簡単な方だとは思いますが、いままでジョブスクリプトを手書き…
久しぶりにXcodeで新しいプロジェクトを作成しました。 ログイン画面とホーム画面の切り分けを window?.rootViewController で実施していました。他のプロダクトでは使えているのに新規作成したプロジェクトでだけ window?.rootViewController を変更しても…
撮影した写真を加工して、UIActivityViewControllerを使って共有する機能を実装したところ、「FacebookとFacebook Messengerに画像を共有できない」とフィードバックをいただきました。 処理としては非常にシンプルに生成したUIImageをUIActivityViewControl…
たとえばUITableViewControllerでユーザーリストを表示している。UITableViewCell上のフォローボタンをタップしたらpopoverを表示させたい。 ポップオーバーを表示させる基準となる sourceViewとsourceRect は下記のようなコードを書いていた。 vc.popoverPr…
macOS catalina(10.15)にアップデート後にpod update をすると、下記のようにエラーが発生します。 -bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory rbenvを…
UITextViewでNSAttributedStringを表示すると、あらかじめ設定していた値が利用されず謎の表示になる。ポケカのデッキ構築アプリを作っているんだけど、v1.1.3で雑に入れた対応がことごとくバグ出してて、余裕ないときに書いたコードはいかんなぁと思った次…
ビルドにXcode 11を使うようになってから、いままで発生していなかったビルド時の不具合が発生するようになってしまいました。xcodebuildでSYMROOTオプションをつけているとビルドができなくなってしまう事象等です。 blog.ch3cooh.jp App Store向けのバイナ…
いまでもJenkinsでxcodebuildを使ってビルド作業をしています。 久しぶりに新規プロジェクトのビルドスクリプトを組んだところ、不正なxcarchiveができるようになってしまいました。ipaファイルを出力するためにxcodebuild -exportArchiveを実行すると下記の…
iPadアプリを縦画面固定にしたいけれど、なぜかクルクル回転してしまう。Device Orientationを確認してもPortrait(縦)しかチェックされていない。 Info.plistを開くと下記のようになっていた。XcodeでみるInterface Orientation設定はiPhoneでしか有効になら…
いまどきのiOSアプリでのログイン画面ってどんなかんじなんだろう?と考えてみた。本記事ではデザイン的な話ではなくて、内部の実装的な部分について言及しています。 結論としては、あまり小難しいことをしなくても、 ユーザーIDを入力するUITextField の t…
2019年8月8日にAdMobから一通のメールが届いた。 AdMob は app-ads.txt のサポートを開始します app-ads.txt 導入の準備はお済みですか? え、なにそれ。app-ads.txtってなに? 突然 app-ads.txt 導入の即時対応を求められる まさかの即日対応を求められる。…