Monthly Archives: November 2016

Swift: WKWebView で 3D Touch を無効にする

iOS 9 から登場した 3D Touch は非常に便利な機能で対応アプリも増えてきていますが、この機能を活用できているユーザーは今のところ少数に思います。 また、Web アプリとなってくるとこの機能が出現すると不都合なときがあり、便利なはずの 3D Touch がユーザビリティを低下させてしまうリスクがあります。 今回は WKWebView でこの 3D Touch を無効にする方法をメモしておきます。 目次 WKWebView で 3D Touch を無効にする まとめ WKWebView で 3D Touch を無効にする WKWebView のデリゲートメソッド shouldPreviewElement で false を返します。 まとめ 3D Touch は デバイス上の物理的な仕組みと連携し機能する iOS 独自のジェスチャーです。 3D Touch 非対応の iOS デバイスユーザーや Android ユーザーにとっては LongPress と混同しがちですが、全く別物です。 このジェスチャーがデファクトスタンダートとなるには時間がかかりそうですが、iOS アプリ開発者は、なるべく今回説明した 3D Touch を無効にする方法ではなく、積極的に導入し利用を促すことが大切だと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Xcode: Launch Image 変更後、実機で確認できない場合の解決方法

Xcode でアプリにローンチ画像(スプラッシュ)を設定する際、Assets.xcassets で画像を管理しますが、Assets 内の画像変更後にローンチ画像を実機で確認すると、前の画像が表示されるときがあります。 一度こうなると、いくら Mac、Xcode を再起動してもローンチ画像が変更されない状態が続きます。 この現象を解決する方法をメモしておきます。 目次 Launch Image 変更後、実機で確認できない場合の解決方法 まとめ Launch Image 変更後、実機で確認できない場合の解決方法 Assets で画像を変更すれば、厳密には変更内容は反映されています。 この現象は iOS デバイス内に画像キャッシュが残っているため、画像ファイル名をそのまま利用し、データだけを差し替えた場合、キャッシュを参照してしまうことで発生します。 解決方法は以下の通りです。 アプリをロングタップ(長押し)し、アプリを一旦削除します。 iOS デバイスのスリープボタンを長押しして、電源をオフにします。 iOS デバイスの電源をオンにし iOS を起動します。 Xcode からアプリをビルドし、iOS デバイスへアプリを再インストールします。 これで iOS デバイス内にある画像キャッシュがクリアされ、ローンチ画像の変更が確認できます。 まとめ Xcode で開発時に iOS 端末に画像キャッシュが残ってしまい、変更後の確認ができない現象はローンチ画像以外のリソースでも発生します。 せめて開発時には Xcode 上から、これらのキャッシュをクリアする仕組みを準備しておいて欲しいものですね。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Swift: iOS のバージョン判定を行う

あらかじめ iOS の後方互換を考慮しバージョン判定を使用し、条件に応じて各 OS に対応する機能を振り分ける機会はあるかと思います。 今回は NSFoundationVersionNumber を使用し、フレームワークのバージョンにより判定を行う方法を説明したいと思います。 目次 iOS のバージョン判定を行う まとめ iOS のバージョン判定を行う NSFoundationVersionNumber を利用し、条件を分岐します。 iOS 8.1 以上かどうか (iOS 8.0 以下) の判定 まとめ 今回の方法で判定すれば、システムのバージョンの文字列を取得しキャスト、比較するといった煩雑さもなくなり、可読性もよくなるのでオススメです。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Xcode: pod setup が先に進まない問題の解決方法

前回の cocoapods インストール の後、pod setup でセットアップを行うと思うのですが、ここでもさらに Setting up CocoaPods master repo から処理が先に進まない問題が発生しました。 今回はこの問題を解決したいと思います。 目次 pod setup が先に進まない問題の解決方法 まとめ pod setup が先に進まない問題の解決方法 インストール完了後に cocoapods のリポジトリフォルダへ移動します。 リポジトリをクローンします。 リポジトリクローン完了後、pod setup を実行します。 Setup completed が表示されればセットアップ完了です。 まとめ cocoapods は一度インストールしてしまえば、ライブラリ・フレームワーク等の更新は pod install 一発で最新のバージョンになり重宝しますが、導入がすんなりいかないのが残念でした。 導入後に問題が発生するケースもあるので、本末転倒ですが従来通り Xcode プロジェクトファイルへマニュアルコピーでもいいような気がします。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。