shobylogy

叩けシンプルの杖

iOS

SwiftとObjective-C混在のプロジェクトで、BridingHeaderのビルドが低頻度で失敗する問題を修正する

iOS

SwiftとObjective-C混在のプロジェクトで、CI上でBridingHeaderのビルドが低頻度で失敗する現象に悩まされていました。(失敗した場合もRebuildすると成功します) 常に失敗するのではなく低頻度で失敗するケースの場合、Headerのimport周りが怪しいことが多…

iOSアプリの画像を最適化してアプリの容量を減らす

iOS

最近アプリの容量が増えてきたので、容量を減らすべく画像の最適化を行いました。 調べて出てくる情報がどれも古かったため、今だとどうしたらいいかを書いておきます。 以下の情報はXcode 7.2.1環境を想定しています。 概要 Asset Catalog を使う ASSETCATA…

Objective-Cで書かれたメインプロダクトを少しずつSwiftに書き換える

iOS

現在、私はObjective-Cで書かれたメインプロダクトを少しずつSwiftに書き換えている最中です。*1 おそらく奮闘中の皆さんのためにも、私が得た知見をお話ししようと思います。 なぜメインプロダクトのSwift移行が進まないのか これは、単純にメインプロダク…

iOS 7をサポート対象外にして得られたもの

iOS

年末に「iOS 7をサポート対象外にしよう!」ということを勧めていたのですが、 blog.shoby.jp この度無事に自分の関わるプロジェクトでiOS 7をサポート対象外にすることに成功しました。 無事にiOS 7を切れたのでめでたい https://t.co/KdLGDXnW6o— shoby (…

Universal Linksの運用の手間を減らす

iOS

概要 apple-app-site-associationを署名したファイルではなく、JSON形式のAPIにする JLRoutesを使ってWebPageURLをCustomURLと合わせてハンドリングする apple-app-site-associationを署名したファイルではなく、JSON形式のAPIにする iOS 9以降の場合、HTTPS…

「 iOS 7をサポート対象外にして開発を健全化する」というタイトルで発表しました

iOS

第24回 potatotipsで、「 iOS 7をサポート対象外にして開発を健全化する」というタイトルで発表しました。 こちらの発表には、業界全体で、最先端の技術を追い求められる健全な開発環境を当たり前にしたいという思いを込めています。 最近は、Swiftがオープ…

CLGeocoderを使って郵便番号を住所に変換する

iOS

住所入力をさせる際に、郵便番号から住所を補完したいことはよくあると思いますが、アプリでそれを実装しようと思うと少し面倒です。 しかし、iOSだけであれば、CLGeocoderを使うと、自前で郵便番号変換用のAPIを作らなくても済みます。 また、現在地を取得…

CoreLocationを使ってバックグラウンドで位置情報を取得する

iOS

iOS 8からいろいろ変わってて、知ってた知識が使えなくなってたのでメモ。 概要 プロジェクト設定からBackgroundModes>Location updatesを有効にする Info.plistに位置情報の使用目的を書く CLLocationManagerを初期化 locationManagerのrequestAlwaysAutho…

iOSアプリでSQLiteを使い日本語の全文検索をする。

iOS

iOSアプリで全文検索 iOSアプリで日本語の全文検索したいこと、ありますよね。私はあります。 そもそもiOSアプリ内で日本語の全文検索をするという需要がないみたいで、情報が少なかったのでまとめました。 SQLiteの全文検索拡張 実はSQLiteにはFTS3 and FTS…

zipzapで巨大なzipファイルを全展開せず、特定ファイルを取り出す

iOS

iOSアプリで巨大な巨大なzipファイルを扱おうとして困ったことありませんか? 巨大なzipファイルを扱おうとすると、主に以下のような問題が発生します。 巨大なzipファイルの問題点 サイズが大きすぎてメモリ上に展開できない 展開に時間が掛かる 展開後にス…