Category Note

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で共有していただければ幸いです。

Xcode: cocoapods インストール Operation not permitted エラーを回避

macOS Sierra クリーンインストール後、cocoapods をインストールしようとしたら Operation not permitted エラーが発生し、インストールができませんでした。 El Capitan 以降の OS では、マルウェアからの攻撃に対するセキュリティ強化のため、root 権限にもシステム関連フォルダへのアクセスに制限がかかる(rootless)ようになったのが原因です。 今回はこの問題を解決し、cocoapods をインストールする方法をメモしておきます。 目次 cocoapods インストール時の Operation not permitted エラーを回避する まとめ cocoapods インストール時の Operation not permitted エラーを回避する まず ターミナル.app から普通に cocoapods をインストールしようとします。 すると以下のようなエラーが発生します。 /user 直下への書き込みが制限されているため、cocoapods のインストール先を /usr/local/bin とします。 これで cocoapods のインストールが完了しました。 まとめ セキュリティが強化されることは歓迎ですが、sudo コマンドの万能感がなくなるのは、それはそれで少し不便だったりもします。。 悪質なマルウェアが存在しなければこういうことにはならないのですが、現実世界ではドアに鍵がついているなら、鍵をかけて外出することで、防犯というリスク回避になることと同様、rootless の機能は重要だと感じました。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

CSS: Absolute で上下左右の中央配置

久しぶりに、CSS の Absolute で縦横中央配置するときに少々手こずってしまったのでメモしておきます。 目次 Absolute 中央配置 まとめ Absolute 中央配置 外側の div (wrapper) と、中央配置したい div (inner) を用意します。 HTML 外側の div (wrapper) に position: relative と縦横サイズ、中央配置したい div (inner) に position: absolute にし、top, left, right, bottom プロパティに同一の値(ここでは 0)を指定し、margin: auto にします。 CSS 結果 wrapper クラスの div(薄いグレー)の中の inner クラスの div(濃いグレー) が上下左右中央に配置されました。 まとめ absolute のような決め打ちのスタイルはあまり使いたくはないのですが、どうしても使用を避けられない場面もあるかと思います。 flex でも同様のことが実現できますが、モダンブラウザでの互換性を考慮する場合、ある程度使える方法なのではないでしょうか。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Mac: スクリーンショットの設定をカスタマイズする

macOS でスクリーンショットを撮ると、自動的にデスクトップへ任意の名前、形式で保存されます。 今回は、このスクリーンショットのデフォルト設定を変更してみたいと思います。 目次 スクリーンショットの撮影 スクリーンショットの設定をカスタマイズする まとめ スクリーンショットの撮影 スクリーンショットの設定変更の前に、スクリーンショットを撮影するためのショートカットをメモしておきます。 画面全体をキャプチャ Command + Shift + 3 選択範囲をキャプチャ Command + Shift + 4 ウィンドウをキャプチャ Command + Shift + 4 の後、キャプチャしたいウインドウ上で スペース クリック ※ウインドウの影をキャプチャしたくない場合は Option を押しながらクリック スクリーンショットの設定をカスタマイズする ターミナル.app を起動し、以下の各コマンドを実行すれば設定が変更できます。 設定後、設定内容を反映させるためには killall SystemUIServer を実行します。 キャプチャしたウインドウの影を解除 デフォルトに戻す コマンド実行後、以下のコマンドで 設定が反映 されます ファイル名を変更する 先頭のファイル名を SS へ変更 先頭のファイル名を省略 先頭のファイル名をデフォルトに戻す ファイル名の日付を省略 ファイル名に日付を付与(デフォルト) コマンド実行後、以下のコマンドで 設定が反映 されます 保存形式を変更する PNG(デフォルト) BMP 形式 GIF 形式 JPEG 形式 PDF 形式 TIFF 形式 コマンド実行後、以下のコマンドで 設定が反映 されます 保存場所を変更する ホーム -> 書類 に変更する デフォルト(デスクトップ)に戻す コマンド実行後、以下のコマンドで 設定が反映 されます まとめ スクリーンショットのショートカットは押しづらいですね。 スクリーンショット専用アプリケーションを使うような人は別ですが、スクショの利用頻度がそれほど高くない人であれば、今回の設定を行い、自分好みの設定に変更しておくだけで利便性が向上するかと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Mac: Safari で Flash Player インストール後有効にする

macOS をクリーンインストール後、数週間ほど踏ん張って Flash Player をインストールしていなかったのですが、どうしても必要な状況になってしまったので、渋々インストールしてしまいました。 インストール後、Flash Player を有効にするために少々時間を費やしてしまったので、解決方法をメモしておきます。 目次 Safari で Flash Player インストール後有効にする まとめ Safari で Flash Player インストール後有効にする Flash インストール後、メニューから Safari -> 環境設定 を開きます。 環境設定の セキュリティ インターネットプラグイン:プラグインを許可 にチェックを入れ、プラグイン設定 を開きます。 Adobe Flash Player -> 設定済みの Web サイトより、目的のサービスを「オン」にします。 Safari を一旦終了し再度起動すれば、上記で設定した Web サイトで Flash Player が有効になっています。 まとめ そろそろ Flash はどうにかならないものでしょうか。 大手のサービスや Web アプリは Flash に依存しないものとなっていますが、まだまだ完全に Flash がいらない状況とは言えないのが正直なところだと思います。 次回のクリーンインストールを行う頃には Flash なしでいられることを祈ります。。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Mac: クリーンインストール時に必須!macOS Sierra の USB 起動ディスクを作成する

macOS Sierra は歴代 Mac OS X (El Capitan、Yosemite、Mavericks) 同様、USB フラッシュドライブなどのリムーバブルメディアを起動ディスクとして使い、そこから OS X をインストールすることができます。 今回は USB メモリに起動ディスクを作成する方法をメモしておきます。 目次 macOS Sierra の USB 起動ディスクを作成する まとめ macOS Sierra の USB 起動ディスクを作成する App Store から OS をダウンロードします。 https://itunes.apple.com/jp/app/macos-sierra/id1127487414?mt=12 ダウンロード完了後インストーラが自動的に開きますので、何もせず終了します。 Terminal で以下の createinstallmedia コマンドを実行します。(以下は USB メディア名が USBMEDIA の例) パスワード入力後、起動ディスク作成が開始します。 …ここで10分少々かかります。 Done が表示されれば完了です。 まとめ 今回の方法で USB 起動ディスクを作成し、MacBook をクリーンインストールしました。 El Capitan はアップデートでインストールしたため、何かと不具合が多かったのですが、macOS Sirra はサクサクと動いています。 クリーンインストールは手間がかかりますが、定期的に行うことで作業効率アップにつながるとあらためて実感しました。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Mac: macOS Sierra 「すべてのアプリケーションを許可」が表示されない場合の対処法

macOS Sierra がリリースされました。 Siri が Mac 上でも使用可能になり、Web 検索やファイル検索のようなちょっとしたオペレーションであれば、キーボードに触れる必要がないのでとても便利になりました。 そんな macOS Sierra ですが、クリーンインストールを行った際、その後のサードパーティーアプリケーションのインストール時に問題が発生しました。(アップデートでは問題ありませんでした) これまではシステム環境設定のセキュリティから「全てのアプリケーションを許可」をチェックすれば、署名のないアプリのインストールが可能になっていましたが、今回からこの項目がなくなっていました。 今回はこの問題を解決したいと思います。 目次 「すべてのアプリケーションを許可」を有効にする まとめ 「すべてのアプリケーションを許可」を有効にする システム管理者でログインし、ターミナルから以下の sudo コマンドを実行すれば「すべてのアプリケーションを許可」が現れチェックされます。 非表示にするには以下のコマンドを実行します。 まとめ 署名なしのアプリであっても手放せないものや便利なツールアプリは多数存在しますが、その半面 Mac のセキュリティを著しく脅かすアプリがあるのも事実です。 macOS Sierra では、今回の方法で従来通り署名なしのアプリもインストールが可能ですが、デフォルトで「すべてのアプリケーションを許可」の項目が削除されている以上、近い将来 App Store を経由しなければ Mac のアプリはインストールできなくなるのかもしれません。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから