Category Note

eyecatch_image

Developer: iOS Certificates 作成手順(2016年最新版)

毎年この時期になると Apple Developer 証明書関連の更新が必要になってきます。 iOS アプリ開発者なら、最低でも年に1度は必ず行わなければならない作業なので、今回はよりシンプルに分かりやすく説明したいと思います。 目次 Certificates 作成の準備(ローカル) Certificates 作成の手順(リモート) まとめ Certificates 作成の準備(ローカル) キーチェーンアクセスの起動 アプリケーション -> ユーティリティ -> キーチェーンアクセス.app を起動 キーチェーンアクセス キーチェーンアクセス(メニュー) -> 環境設定 キーチェーンアクセスの環境設定 証明書のタブを選択 オンライン証明書状況プロトコル (OCSP): 切 証明書失効リスト (CRL): 切 設定を確認したら次の手順へ。 認証局に証明書を要求 キーチェーンアクセス(メニュー) -> 証明書アシスタント -> 認証局に証明書を要求 証明書アシスタント ユーザーのメールアドレス: 開発者のメールアドレス 通称: 適当な名前 CAのメールアドレス: 無記入 要求の処理: ディスクに保存 と 鍵ペア情報を指定 にチェック CertificateSigningRequest.certSigningRequest を任意の場所(ここではデスクトップ)に保存するように指定 鍵ペア情報は以下のように設定します。 鍵のサイズ: 2084ビット アルゴリズム: RSA 続ける -> CertificateSigningRequest.certSigningRequest がデスクトップに保存される。 Certificates 作成の手順(リモート) Apple Developer Apple Developer -> Certificates Identifiers & Profiles にアクセス Developer アカウントでログインします。 Certificates Identifiers & Profiles を選択。 ここでは iOS Apps の Certificates を選択。 Certificates Identifiers & Profiles Certificates(左カラムメニュー) -> All -> 「+」(右カラム) Add iOS Certificate iOS App Development(開発用) か App Store and Ad Hoc(製品用) のどちらかを選択。 Continue をクリック。 Chose File からデスクトップに作成された CertificateSigningRequest.certSigningRequest を選択。 Generate をクリックし、生成された CSR(証明書)ファイルを確認し Download をクリック。 開発用の場合 ios_development.cer 製品用の場合 ios_production.cer がダウンロードされる。 キーチェーンアクセスに登録 上記のダウンロードされた CSR ファイルを ダブルクリック で キーチェーンアクセス に登録される。 まとめ iOSアプリ証明書関連の作業は何度もやっていると、確認する程度で工程を思い出しますが、初めての方だと何をやっているのか分からない作業だと思います。 ここに書いてある通り進めれば一瞬で完了しますので、煩わしい作業は早く済ませてその先の開発を楽しみましょう。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Node.js: シェルコマンドを実行する

前回は Node.js を使ってファイルを操作する一覧をご紹介しました。 ファイルの操作ができると、それだけで色々と出来ることが増えていきます。簡単に色々とやれてしまうのが Node.js のいいところです。 今回は Node.js を使ってシェルコマンドを実行する方法を説明したいと思います。 目次 Node.js でシェルコマンドを実行する まとめ Node.js でシェルコマンドを実行する サンプル shellHelper.js shellHelper.js を使用すれば複数行のシェルコマンドも簡単に実行できます。 まとめ Node.js は非同期型のイベント駆動モデルを使用したサーバサイド環境ですので、同期的にシェルコマンドを実行する場合には、ある程度の工夫が必要です。 とは言っても、ちょっとファイル操作して、その後コマンドを叩く程度であればそこまで頑張る必要もありません。 ES6 も浸透してきたので、今後は JavaScript に関しても記事を投稿していこうと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

CSS: リンク擬似クラス :link, :visited, :hover, :active の記述順

CSS の記述順が間違っているため、リンクタグ擬似クラスが効いていない時があります。 リンクテキストのカラーならサイトの動作に問題がないため、ついついそのまま放置してしまうケースもあるかと思いますが、あまりよろしくはありません。ちゃんと直しましょう。 今回はこの CSS 記述順をいつも忘れるのでメモしておきます。 目次 リンクタグの擬似クラス :link, :visited, :hover, :active 記述順 まとめ リンク擬似クラス :link, :visited, :hover, :active の記述順 記事のタイトルそのままですが、:link -> :visited -> :hover -> :active の順に記述します。 サンプル CSS 覚え方 擬似クラスの頭文字をとって lvha -> l(o)v(e) & h(over)a(ctive)te -> love & hateと覚えます。多少無理矢理な感じがしますが、それでもないよりはマシかと思います。 まとめ 覚え方は love & hate でしたが、この love & hate を忘れてしまっていました。 CSS の継承とリンクタグの性質をしっかり理解していれば、こう言った試験前の一夜漬けのような覚え方をしなくても自然と書けるはずなのですが、一度記事にしましたので、もう忘れることはないと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Node.js: よく使うファイル操作の一覧

Node.js はローカルでのちょっとした作業も、シンプルな記述で実行できるのでとても便利です。 ファイルの操作も簡単に実行できてしまうので、うまく利用すれば日々のルーチンワークを半自動化することも可能です。 今回は Node.js でよく使用するファイル操作をまとめて一覧にしました。 目次 ファイルを読み込む ファイルを保存する ファイルをコピーする ファイルを削除する まとめ ファイルを読み込む readFile() readFileSync() ファイルを保存する writeFile() ファイルをコピーする createReadStream().pipe() ファイルを削除する unlink() フォルダ削除 フォルダを内包するフォルダ・ファイルごとに削除するためには、パッケージ管理ツール npm から rmdir をインストールします。 rmdir インストール 使用例 まとめ Node.js を使って自分専用のユニークなツールを作っていると、いつの間にかアプリに近いものになってしまっている楽しさがあります。 今のところ、面倒なローカルでの処理をワンライナーで実行する目的で使用していますが、そのうちがっつりとアプリを作ってみたいと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

OSX: Mac (El Capitan ) で SSD の TRIM を有効にする方法

Mac のストレージを 社外 SSD に換装した場合、TRIM サポート が いいえ (OFF) となっています。 今回は、この TRIM についての概要と、確認方法、有効にする方法を説明したいと思います。 目次 TRIM とは TRIM の確認方法 trimforce の実行 TRIM とは SSD のパフォーマンス低下を防ぐ機能のことです。 SSD で使用されている NAND フラッシュメモリーは上書きできないという性質があります。 そのため、すでにデータの存在する領域へ新しくデータを上書きするためには、既存のデータを読み出し、一旦違う領域にコピーし書き込み領域を消去した後、コピーしたデータへ書き換える必要があります。 TRIM とは、OS が事前に削除可能な領域を SSD へ通知することにより、あらかじめ SSD が削除を実行し、書き込み可能領域を確保しておくことで、データアクセスのパフォーマンス低下を防ぐための機能です。 TRIM の確認方法 このMacについて -> システムレポート -> ハードウェア -> SATA/SATA Express より SSD ストレージを選択します。 デフォルトでは TRIM サポート が いいえ となっています。 trimforce の実行 アプリケーションから ターミナル.app を起動し、以下のコマンドを実行します。 コマンド実行後、システムレポートを確認すると、TRIM サポートが はい になっています。 まとめ TRIM を有効化することで、データアクセスが少し速くなった気がしますが、HDD から SSD へ換装しただけで相当速くなっているため、SSD の使用容量が半分を超えたあたりから TRIM の効果が実感できるのかもしれません。 最後に、今回の TRIM 有効化の作業はとても簡単なものですが、リスクが伴いますので、あらかじめデータのバックアップを取った上で、自己責任で実行してください。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Developer: App Store ガイドライン 2.12 に抵触しない Web ラップ型 アプリについて

WebView アプリで既存 Web サイトをラップした iOS アプリのストアレビュー時に、 App Store ガイドライン 2.12 でリジェクトされた経験をされた方は少なからずいることと思います。 先日、開発案件でこのリジェクトに遭遇しましたが、無事アプリをリリース出来ましたので、その時の解決方法を残しておきたいと思います。 目次 App Store ガイドライン 2.12 詳細内容 App Store ガイドライン 2.12 対策ロードマップ App Store ガイドライン 2.12 対策詳細 まとめ App Store ガイドライン 2.12 詳細内容 Apple Store ガイドライン 2.12の内容は以下の通りです。 ユニークではない、あまり有用でない、単にウェブサイトをバンドルしたもの、永続する娯楽価値を提供しないアプリケーションはリジェクトされます 自分の制作したアプリが あまり有用でない と言われるとショックですが、Web アプリを制作しリジェクトとなった場合の本題は、次の 単にウェブサイトをバンドルしたもの の一言に尽きると思います。 この事は開発者泣かせではありますが、単にウェブサイトをバンドルしたもの は Web ブラウザでサイトを閲覧すればいいだけなのですから、わざわざアプリ化する意味がなく、結局 App Store ガイドラインの あまり有用でない という表現は正しいことになります。 しかし、諸事情によりこういった あまり有用でない Web アプリをリリースしなければならない場合、どうすればいいのでしょうか。 次項からその解決方法を説明したいと思います。 App Store ガイドライン 2.12 対策ロードマップ 単にウェブサイトをバンドルしただけのアプリを申請し、その結果 2.12 リジェクトとなったときに立てた対策ロードマップは以下のとおりです。 プッシュ通知を実装 Apple レビュワーへの問い合わせ 独自メニューと共有機能を実装 設定画面を実装 コンテンツ表示の UITableView 化 App Store ガイドライン 2.12 対策詳細 プッシュ通知を実装 プッシュ通知はアプリ固有の機能です。Web サイトをラップするだけのアプリでも、サイトの更新やサービスのアップデートは必ず発生するので、これら更新情報を配信する機能をアプリに持たせることで、2.12 のリジェクトに対し一定の効果があります。 ただし、これだけでは あまり有用でない ことが理由でリジェクトとなりました。しかしこの時点で 単にウェブサイトをバンドルしたもの ではなくなりました。 Apple レビュワーへの問い合わせ プッシュ通知だけではリジェクトとなる可能性は十分考えられていたのですが、念のため、「なぜ、アプリ固有の機能であるプッシュ通知を実装したにも関わらず、 2.12 に抵触したのか」という問い合わせを行いました。 この問い合わせは、なぜダメだったのかを知るためではなく、どうすればリジェクトにならないか、をレビュワーに提案してもらうことが目的でした。 このアクションを早めに行うことで、レビュワーに従ってアプリを改善した結果が再びリジェクトとなった場合、訴求することが可能となります。 独自メニューと共有機能を実装 アプリの画面が WebView だけではブラウザそのものなので、アプリ専用メニュー として新しく View を作成し、そこに「進む」「戻る」「共有」と言った機能を追加します。比較的短時間で実装可能なうえ、リジェクトに対し一定の効果があると思いますが、この程度ではリジェクトとなりました。 設定画面を実装 アプリの画面数が1画面だけでは、やはりブラウザと大差がありません。そこでアプリに設定画面の UIViewController を追加 し、上記アプリ専用メニューから設定パネルへ遷移するボタンを追加し、2画面構成 とします。 設定画面では、「プッシュ通知のON/OFF」「サポートページ」「アプリを評価する」「カラースキーム変更」といった、最小リソースで実装が可能な機能を追加します。 このことが アプリを改善した結果 と評価されリリースとなりました。 コンテンツ表示の UITableView 化 Web コンテンツを一旦 CoreData に保存し、UITableView で表示することにより iOS ネイティブ特有の表現を行うためのプランでしたが、設定画面を実装することでアプリがリリースとなったため不必要となりました。 ここまでやれば、もはや 単にウェブサイトをバンドルしただけ のアプリではなくなりますが、この工程は工数が大幅に増大するため、あくまで最終手段として考えていました。 まとめ この記事を書いた目的は、こうすれば Web をラップしただけのアプリを開発したい場合、こうすればリリースできる、といったことが言いたかったのではありません。 Web サービスをアプリ化しようとする企画段階で、明らかにガイドライン 2.12 に抵触する恐れのあるアプリである場合、アプリ自体の開発を断念し Web サービスそのものの強化や見直し、リーチの拡大に注力するのが賢明だと言うことです。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Developer:リジェクトされないために App Storeレビューガイドラインの和訳 2015年最新版

App Storeでアプリリリース時の審査基準となるレビューガイドライン。 初めての iOS アプリ開発において、英文であることを理由に熟読しないまま理解したつもりで開発を始めてしまい、何度もリジェクトを経験しました。 このときのリジェクトによる苦い経験から、少しでも日本の開発者の役に立てればと思い、App Store Review Guidelines を和訳(一部意訳)しました。 あえて訳さない方が適切と思われる名称やセンテンスについては、原文のままの表現を用いています。(本コンテンツに対してのご意見・不備・間違い等ありましたらこちらからご連絡いただければ幸いです) 開発者のスキル・レベルに関係なく、一読すればきっとリリースまでの道のりが短くなります。ご活用下さい。 更新履歴 [2015.12.23] 11.6項の誤りを修正しました。おのでら様、ご指摘いただきありがとうございました。 [2015.12.21] 11.9項の誤りを修正しました。匿名希望様、ご指摘いただきありがとうございました。 [2015.06.26] 11.17項を追加しました。sakuyan様、ご連絡いただきありがとうございました。 [2015.06.19] 9.4項を更新しました(64kbps -> 192kbps)すがはら様、ご連絡いただきありがとうございました。 [2015.06.04] レビューガイドラインに 25-28 項追加しました。すがはら様、ご連絡いただきありがとうございました。 [2014.10.10] 11 項目の誤植(通過 -> 通貨)を修正しました。町田様、ご指摘いただきありがとうございました。 [2014.07.09] 2.7 項目の誤訳を修正しました。pernodd様、ご指摘いただきありがとうございました。 [2014.05.01] 2.15 項目の誤り(50MB -> 100MB)を修正しました。開発要員A様、ご指摘いただきありがとうございました。 [2014.02.18] 24.Kids Category の追加と HTML タグ、翻訳の誤記を修正しました。 [2013.07.20] コンテンツの本文を修正しました。 [2013.07.14] 一部コンテンツ内容の構成を変更しました。

MellowGlyph: CSS アイコンフレームワーク MellowGlyph を公開しました

github ページに sirochro 製 CSS アイコンフレームワーク MellowGlyph を公開しました。 ローンチ時点で 550 種類以上のアイコンがセットになっており、sirochro のサイトや iOS アプリで使われているアイコンは全て MellowGlyph に入っています。 MellowGlyph は無料です。是非使ってみてください。 公式ページは英語のみの対応となっていますので、ここでは日本語による特徴、簡単な説明や使い方を説明したいと思います。 目次 MellowGlyph の特徴 MellowGlyph の使い方 MellowGlyph アイコン一覧 まとめ MellowGlyph の特徴 デザイン アイコンのエッジは面取りを施すことで必要最小限の丸みを持ち、正方形グリッドに収まるように設計されています。 総数 550 種類以上 無料アイコンセットとしては最高クラスのバリエーションを用意しました。この数字には、エイリアス(同じアイコンアートワークの別名称)による重複した数を含みません。 開発者に最適化 MellowGlyph には や のような開発言語や、各種キーボード記号のアイコンが含まれています。開発者同士のコミュニケーションにお役立てください。 ベクターグラフィックス アイコンはすべてベクターで作成されているので、どのようなサイズでも綺麗に出力・表示されます。 すべて無料 MellowGlyph のダウンロード、ならびに利用は無料です。商用利用も可能です。 CSS で編集可能 アイコンの色、サイズ、シャドウといった要素を CSS で変更可能です。 すべての端末に対応 Mac、PC、スマートフォンやタブレットといったすべての端末で、綺麗に表示されます。 あらゆる現場に ウェブ制作、アプリ制作、ゲーム開発等、MellowGlyph は、様々な場面での利用を想定し作られています。 アイコンの規格 すべてのアイコンは厳密なルールに基づいて制作されているため、アイコンセットのアートワークに統一感を保証しています。 MellowGlyph の使い方 ダウンロード プロジェクトに配置 CSS を参照 HTML で記述 ダウンロード MellowGlyph 公式ページ にアクセスし Download をクリックしてください。 プロジェクトに設置 ダウンロードしたファイルを解凍し MellowGlyph フォルダ を自分のプロジェクト内の任意の場所へ移動します。 CSS を参照 HTML の head タグ内で mellowglyph.min.css をリンクします。上記 MellowGlyph フォルダ を配置したパスを path/to に記述します。 HTML で記述 MellowGlyph アイコン一覧 を参照し、該当する HTML を記述すればアイコンが表示されます。 MellowGlyph アイコン一覧 すべてのアイコンのアートワークと CSS クラスは MellowGlyph 公式ページ の アイコン一覧 からご覧いただけます。 ここではその一部を抜粋してご紹介いたします。 まとめ アイコンは最もミニマルなインフォグラフィックの一つで、情報伝達の目的以外でそれ自体が主張してはいけません。基本的なことですが、これが MellowGlyph 制作時に一番大事にしていたコンセプトでした。 当初は既存のフリーアイコンのディテールが気に入らなかったので、プロジェクトごとに必要なものを1つ、2つ、と作成していたのですが、ある程度実用に耐えられるアイコンセットとなったため、無料公開することにしました。 こんなアイコンがあればいいなというのがあれば、こちら (カテゴリ:MellowGlyph について)からご連絡ください。 アートワークの作成からフォント出力、ダウンロードページの更新とアップデートには時間がかかるので、一つ一つすべてのご要望にお応えすることは不可能ですが、必要だと判断したものに関しては、時間があるときにまとめてアップデートをおこない、アイコンの種類を増やしていきたいと思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Swift: UIWebView の UserAgent を書き換える

WebView ベースの iOS アプリを開発する際、Web サーバー側からアプリからのアクセスを判定したいケースがあるかと思います。 そういった場合、UIWebView に対してユニークなユーザーエージェントを付与し、その文字列から JavaScript 等で判定することが一番簡単な方法かと思います。 今回は Swift で UIWebView のユーザーエージェントを書き換えてみたいと思います。 目次 UIWebView の UserAgent を書き換える まとめ UIWebView の UserAgent を書き換える UIViewController の UIWebView からでは、先にデフォルトのユーザーエージェントが呼ばれてしまうため、ユーザーエージェントの書き換えを行う場合は AppDelegate で行う必要があります。 一度サイズのない空の UIWebView を生成し、その UIWebView からデフォルトのユーザーエージェントを取得し、値を追加・上書きすることでユニークなユーザーエージェントに変更します。 AppDelegate.swift まとめ Android の WebView に触れると iOS の UIWebView の良さをあらためて実感します。 Xcode で開発を行っていると、余計なことをしてくれていると思うときもありますが、多くのケースでは、それが一定のユーザビリティを保証する上で正解であることがほとんどです。 ものづくりを行う人々にとっては当たり前のことなのですが、ないものを作り出そうとする前に、ない理由を調査した上で、本当にやるべきかどうかを検討する必要があると思います。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Android: USB 接続なし (無線LAN) でアプリを実機デバッグする方法

Wifi 環境があれば Android Studio からの実機でのデバッグが USB 接続なしで可能です。 とは言え、最初の設定では結局 USB 接続が必要ですが、デバイスがケーブルから解放されることで、多少は作業ストレスの軽減になるかもしれません。 地味に便利な機能だったのでメモしておきます。 目次 ADB コマンドのパスを通す USB 接続を行う ADB コマンドで接続する USB 接続を解除しビルドを実行する ADB コマンドのパスを通す ターミナルシェルの環境設定(.bashrc や.zshrc等)に ADB コマンドへのパスを通します。 設定を保存した後、設定ファイルをリロードしシェルに設定を反映させます。 ADB コマンドが使えるようになっているか確認します。 無事バージョンが表示されれば完了です。 USB 接続を行う Mac と Android デバイスを USB で接続し Android Studio を起動します。 Android デバイスの 設定 -> Wi-Fi -> 詳細設定 (Android デバイスごとにメニューの名称は異なります)から IP アドレスを確認します。ここでは 10.0.1.1 とします。 ここで表示された IP アドレスを使用し、ADB コマンドで接続を行います。 ADB コマンドで接続する ターミナル(Android Studio 内のターミナルでも可)を起動し、以下のコマンドを実行します。 先ほど調べた IP アドレスに上記のポートを指定し接続します。 接続されているデバイスを確認します。 デバイスが接続されていることが確認できました。 USB 接続を解除しビルドを実行する すでに Wi-Fi で接続されていますので、USB ケーブルを外します。 Android Studio からビルドを実行すれば、USB 接続なしでデバッグが可能になっています。 以上で作業は完了です。お疲れ様でした。 まとめ Android Studio では Xcode に存在しないユニークな機能をちょくちょく見かけます。 Xcode でもこういった無線環境でのビルド・デバッグの機能を追加してくれると、つらいコーディングも少し楽しくなるかもしれませんね。 今回紹介した方法は、準備自体は数分で完了するので、是非一度お試しください。 この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

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

img_sqn_00

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

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