サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
www.sirochro.com
CSS クラス・id 名に規則性があれば正規表現を利用し、特定文字列を対象としたスタイル指定が有効です。 今回は、クラス・id 名に 特定の文字が含まれる要素を指定 する記述方法を説明したいと思います。 部分一致 クラス名に 「xxx- が含まれる」 「div 要素」 の 「背景色に red」 を指定する記述は以下のようになります。 [code] div[class*=”xxx-“] { background: red; } [/code] 前方一致 + 部分一致 クラス名の 「先頭が xxx- で始まる」 「div 要素」 の 「背景色に red」 を指定する記述は以下のようになります。 [code] div[class^=”xxx-“], div[class*=” xxx-“] { background: red; } [/code] 基本的に class^= の 前方一致 により目的
Atom でコーディング中、たまに何かの拍子で Key Binding Resolver のショートカットを押してしまい、意図せず表示してしまうことがあります。 いつもこの問題が起こった際、消す方法が分からず、その都度ショートカットを調べていたのでメモしておきます。 目次 Key Binding Resolver を表示・非表示にする まとめ Key Binding Resolver を表示・非表示にする Key Binding Resolver とは Atom の画面下部に表示される 対応しているキーバインドをリアルタイムで表示する機能 のことです。 Key Binding Resolver ショートカット [command] + [.] キーで表示非常時を切り替えられます。 まとめ メインのエディターを Atom に変更してからある程度時間が経ちます。 Atom はほぼデフォルト設定の
Bluetooth メニューの一覧には過去に接続したものの、現在全く使用しなくなったデバイスが、いつまでも一覧に表示されています。 そのまま放置しても全く問題はないのですが、気になる方もいるかと思います。 今回はこの Bluetooth のデバイス一覧から使用しなくなったデバイスを削除する方法をメモしておきます。 目次 Bluetooth デバイスを一覧から削除する まとめ Bluetooth デバイスを一覧から削除する リストから iPad Air 2 を削除してみたいと思います。 メニューバー > Bluetoothアイコン(※) を オプションキーを押しながらクリック 削除したいデバイス(iPad Air 2) > 「削除」 をクリック 無事、一覧から選択したデバイスが削除されました (※)システム環境設定 > Bluetooth > メニューバーに Bluetooth を表示 にチ
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の内容は以下の通りです。 ユニークではない、あまり有用でない、単にウェブサイトをバンドルしたもの、永続する娯楽価値を提供しないアプリケーションはリジェクトされます 自分の制作したア
Android の WebView は仕様をよく理解していないと、ネイティブ実装よりも大変なケースに遭遇します(しました)。 WebView から Web ページが表示されて一息ついていたら、YouTube が見れないという問題が発生しましたので、その解決方法をメモしておきます。 老婆心ながら、くれぐれもアプリのユーザーエージェントを、あまりにもユニークなものに書き換えたりしないでください。 ユーザーエージェントが大きく変わると、今回の方法でどう頑張っても YouTube は再生できません。これで人生の貴重な3日間を棒に振りました。。。 それではどうぞ。 目次 AndroidManifest の設定 MainActivity -> WebView の設定 MainActivity -> WebChromeClient 拡張クラス MainActivity の全コード レイアウトファイル A
毎年この時期になると Apple Developer 証明書関連の更新が必要になってきます。 iOS アプリ開発者なら、最低でも年に1度は必ず行わなければならない作業なので、今回はよりシンプルに分かりやすく説明したいと思います。 目次 Certificates 作成の準備(ローカル) Certificates 作成の手順(リモート) まとめ Certificates 作成の準備(ローカル) キーチェーンアクセスの起動 アプリケーション -> ユーティリティ -> キーチェーンアクセス.app を起動 キーチェーンアクセス キーチェーンアクセス(メニュー) -> 環境設定 キーチェーンアクセスの環境設定 証明書のタブを選択 オンライン証明書状況プロトコル (OCSP): 切 証明書失効リスト (CRL): 切 設定を確認したら次の手順へ。 認証局に証明書を要求 キーチェーンアクセス(メニュー
DOM要素の取得には getElement系(getElementById、getElementsByTagName等)を使用することが多いと思いますが、今回はさらに簡単に要素を取得できる querySelector/querySelectorAll の使い方をメモ。
現在は Swift が主流となってきましたが、まだまだ Objective-C で書かれたコードも健在で、Swift 上で Objective-C コードのライブラリ等を使用する場合、Bridging Header ファイルを作成する必要があります。 Bridging Header の作成自体は簡単ですが、Xcode での設定の方法をいつも忘れてしまうので、今回は Bridging Header に関する一通りの作成、設定の流れをメモしておきます。 目次 Bridging Header ファイル作成 Xcode の設定 まとめ Bridging Header ファイル作成 Xcode メニューから File -> New -> File を選択します。 Header File を選択します。 ファイル名は任意となりますが、ここでは Bridging-Header.h とし、Create で
zsh プロンプト概要まとめ 「%」や {} が連続しているため、何かの呪文のように見えてしまい抵抗があると思いますが、中身はとても単純です。 これらを踏まえ、次項でこのプロンプトに Git の情報を表示させたいと思います。 zsh プロンプトに Git の情報を表示する はじめに zsh のプロンプトに Git の情報を表示するためには、zsh 4.3.10 以上である事が必須となるので、ターミナル上から zsh のバージョンを確認しておきます。 zsh のバージョンを確認(ターミナル) [code] $ zsh –version [/code] vcs_info の宣言と設定 バージョン管理システムから情報を自動的に取得するために vcs_info を宣言します。 .zshrc [code] autoload -Uz vcs_info [/code] 次に、vcs_info から取得し
UIImageView の UIViewContentMode (Scale to Fill や Aspect Fit等) の意味をよく忘れるので、メモしておきます。 Scale to Fill 縦横の比率を変え全体表示 [code] // ScaleToFill imageView.contentMode = UIViewContentMode.ScaleToFill [/code] Aspect Fit 縦横の比率をそのままに長い辺を基準に全体表示(※空白が発生する可能性あり) [code] // ScaleAspectFit imageView.contentMode = UIViewContentMode.ScaleAspectFit [/code] Aspect Fill 縦横の比率をそのままに短い辺を基準に全体表示(※空白は発生しない) [code] // ScaleAspec
Mac のストレージを 社外 SSD に換装した場合、TRIM サポート が いいえ (OFF) となっています。 今回は、この TRIM についての概要と、確認方法、有効にする方法を説明したいと思います。 目次 TRIM とは TRIM の確認方法 trimforce の実行 TRIM とは SSD のパフォーマンス低下を防ぐ機能のことです。 SSD で使用されている NAND フラッシュメモリーは上書きできないという性質があります。 そのため、すでにデータの存在する領域へ新しくデータを上書きするためには、既存のデータを読み出し、一旦違う領域にコピーし書き込み領域を消去した後、コピーしたデータへ書き換える必要があります。 TRIM とは、OS が事前に削除可能な領域を SSD へ通知することにより、あらかじめ SSD が削除を実行し、書き込み可能領域を確保しておくことで、データアクセスの
Node.js はローカルでのちょっとした作業も、シンプルな記述で実行できるのでとても便利です。 ファイルの操作も簡単に実行できてしまうので、うまく利用すれば日々のルーチンワークを半自動化することも可能です。 今回は Node.js でよく使用するファイル操作をまとめて一覧にしました。 目次 ファイルを読み込む ファイルを保存する ファイルをコピーする ファイルを削除する まとめ ファイルを読み込む readFile() [code] var fs = require(‘fs’); fs.readFile(‘./test.txt’, ‘utf8’, function (err, text) { console.log(‘text file!’); console.log(text); console.log(‘error!?’); console.log(err); }); [/code]
iCloud で Mac のユーザ辞書を、iPhone や iPad 等の iOS デバイスで共有すれば非常に便利です。 しかし、OS のアップデートやデバイスを新しく追加した場合、このユーザ辞書がうまく同期されなくて、便利なはずの iCloud 連携が、一転してストレスとなるケースにこれまでも幾度となく遭遇しました。 iCloud のせいなのか、Mac OS や iOS 側の問題なのかは Apple に聞いてみなければわかりませんが、今回この問題を解決する方法を発見しましたので説明したいと思います。(本作業の実行は自己責任でお願いします) 目次 作業環境 作業内容の詳細手順 ユーザー辞書の同期を確認する Mac と iPhone でユーザ辞書を同期できない場合の対処方法 今回の方法では、iOS デバイス側に保存されている iCloud Drive のユーザー辞書データを破棄し、Mac の
Swift: iOS アプリに SNS (Twitter, Facebook) 共有ボタンを実装する 2015 7/12 Swift でアプリに SNS 共有ボタンを実装したいと思います。 アプリのユーザーがどれだけ SNS 共有機能を使ってくれるかは、アプリ自体の魅力や機能にもよりますが、どんな種類のアプリであれ、実装しておいたほうが好ましい機能ではあります。 今回 SNS 共有は Social フレームワークを使用し実装するので、ボタンのクリックイベントのメソッドに数行のコードを記述するだけで、簡単に Twitter や Facebook で情報を共有することが出来ます。 ■目次 Social.framework のインポート UIButton を配置する Twitter 共有のメソッドを記述する Facebook 共有のメソッドを記述する ■詳細説明 Social.framework
iOS アプリでデータを永続化させる方法はいくつかあり、Core Data や SQLite 等のデータベースを使用するかどうかで、選択肢は大きく2つに分かれます。 今回は データベースを使用しないデータの永続化 について説明したいと思います。 目次 Core Data 以外でデータの永続化する方法 NSUserDefaults について NSKeyedArchiver について プロパティリストについて Core Data 以外でデータの永続化する方法 主に次の3つが iOS アプリでのデータの永続化に使用されています。 NSUserDefaults NSKeyedArchiver プロパティリスト これらの使い方を個別に説明していきたいと思います。 ファイルパス データは次の何れかの階層へ保存することになります。 永続化を行うのであれば /Documents へファイルの保存を行います
アプリ制作に必須な知識にも関わらず、なかなかわかりづらい delegate ですが、一度覚えてしまえば、何が分からなかったのかが分からないくらい分かりやすいデザインパターンであることに気づきます。 今回はこの delegate について分かりやすく説明してみたいと思います。 デリゲートパターンについて デリゲートパターンでできる事は、delegate の意味の通り、ViewController(あるクラス) の処理を、別の ViewController(あるクラス) へ任せる事です。 もっと厳密に言えば、あるクラスに実装している処理を、そのクラスのインスタンスを生成している別のクラス(ViewController)側で処理したい場合にデリゲートパターンを使用します。 次項で具体的な使い方を見て行きたいと思います。 デリゲートパターンの使い方 使用例として、デリゲートパターンを使用し Mai
関数の引数にはオブジェクトを渡すことも出来る。今回はクラスを使って、オブジェクトを値渡しした場合と参照渡しをした場合の簡単なパターンをメモ。 値渡し(非参照型) [code] #include using namespace std; class Sample { int i; public: Sample(int n) { i = n; } void set_int(int n) { i = n; } int get_int() { return i ; } }; void sqr_obj(Sample obj) { obj.set_int(obj.get_int() * obj.get_int()); cout << "func i = " << obj.get_int() << "\n"; } int main(int argc, const char * argv[]) { Sam
SQN で音楽の再生をしながらゲームをプレイしたいとの要望があったので、バージョン 1.2 で実装を行いました。 今回はそのときのコードの一部を抜粋し、アプリのバックグラウンドで音楽を再生する方法を説明したいと思います。 まず、アプリから Apple の MusicApp で音楽が再生されているかどうかを MPMusicPlaybackState を使用し判定します。 [code] let musicPlayer: MPMusicPlayerController = MPMusicPlayerController.systemMusicPlayer() let playbackState: MPMusicPlaybackState = musicPlayer.playbackState if playbackState == MPMusicPlaybackState.Playing { p
Swift で開発中のプロジェクトへ AdMob を実装する方法を説明します。 一部 Apple公式、Google 公式で説明されている内容を含みますが、この説明を見るだけで AdMob が実装・表示できます。 iOSの無料アプリ開発時にお役立て下さい。 SDK のダウンロード Google Developers から iOS版の Google Mobile Ads SDK をダウンロードし、Add-ons 以外のファイルを全て プロジェクトにドラッグし追加します。 フレームワークのインポート Project -> TARGET -> General -> Linked Frameworks and Libraries より「+」をクリックし、以下のフレームワークをプロジェクトにインポートします。 AdSupport AudioToolbox AVFoundation CoreGraphi
最近はどんな小さなアイデアも JavaScript でとりあえず形にするように心がけています。 今回は JavaScript でクラス(のようなもの)を定義する方法を整理してみました。なぜクラスではなく「のようなもの」であるかも説明していきたいと思います。 オブジェクトリテラルでクラスを定義する クラスとは、特定のメソッドとメンバ変数を持つオブジェクトのことです。 JavaScript での単純なクラスの定義は、オブジェクトリテラルを使用しオブジェクトを定義するもので、これはよく目にするパターンだと思います。 クラスの概念とオブジェクトリテラルでの定義 [code] var sample = { name: ‘sample_name’, alert_hello: function() { alert(‘Hello’); } }; console.log(sample.name); samp
下位互換 iOS 6 未満かつ非 Retina ディスプレイデバイスを排除(iPad mini (1st) を除く)した、これから対応すべき iOS デバイスの一覧表を作成しました。 iPod touch (4th) と iPhone 4 に関してはリストに残しましたが、iOS 8 に未対応なため、2015年以降は多くのアプリの対応機種から外れていくものと思われます。
MacBook Air や MacBook Pro ユーザーの中には Apple Store での購入時にUSキーボードを選択し、愛用されている方も多いと思います。 USキーボードから特殊文字や記号を入力したいとき、どうやって打てばいいか分からなくて困る時があります。 そういったときのために、Mac OS X のキーボードビューワを参考に解像度の高いイラストを作成し、一覧表を作成しました。 特殊文字(記号)早見表 オレンジ色のキーを押しているあいだ、ハイライトされた部分のキーの位置に記された記号が入力されます。(システム環境によっては画像と一致しない場合があります) 何も押していない状態のキー配置図 shiftキーを押している状態のキー配置図 optionキーを押している状態のキー配置図 fnキーを押している状態のキー配置図 まとめ 「fn」+「delete」で「カーソルより後の文字を削除
ホームNoteObjective-C:Sprite Kit ゲーム画面(SKScene)をキャプチャして twitter で画像を共有する ゲーム画面をキャプチャして twitter で画像を共有する・インデックス 新規プロジェクトの作成(SpriteKit Game テンプレート) フレームワークのインポート ViewController へツイートのメソッドを記述 キャプチャのメソッドの記述 シーンから ViewController のツイートメソッドの呼び出し ゲーム画面をキャプチャして twitter で画像を共有する・詳細手順 新規プロジェクトの作成(SpriteKit Game テンプレート) Xcode のメニューから File -> New -> Project… を選択し、SpriteKit Game のテンプレートを新規作成します。 フレームワークのインポート twit
JavaScript:プロトタイプチェーン詳解!prototype と __proto__ について 2017 6/03 prototype や __proto__ それぞれを詳しく説明しているものは存在しますが、この2つの違いを明確にまとめている情報があまりありませんでした。 そこでプロトタイプベースとはどういうことなのか、コード上に登場する prototype や __proto__ とは一体何なのかを自分なりに整理してみました。 更新履歴 [2017.06.03] コンテンツ修正しました。sititou70様、ご指摘いただき有難うございました。 [2014.07.19] コンテンツ修正しました。通りすがり様、ご指摘いただき有難うございました。 JavaScript は「プロトタイプベース」のオブジェクト指向言語です。 まず最初にこの「プロトタイプベース」のオブジェクト指向とはいったい
アプリが起動すると表示されるスプラッシュ画像は Xcode 上で設定すれば簡単に表示されますが、このスプラッシュ画像を静止画ではなく動画にしたいと思ったことはないでしょうか。 今回はこのスプラッシュ画像を動画にする方法を紹介したいと思います。 冒頭ではアプリの起動画面に動画を表示すると述べていますが、具体的には通常のスプラッシュの後に mp4 等の動画ファイルを再生する方法を説明していきます。 通常のスプラッシュ画像は設定をしないか、アニメーションの背景色と同じ画像を設定しておくことで、スプラッシュが動画になっているように見せるというものです。 概要 動画ファイルを準備する Xcode プロジェクトに動画ファイルをコピーする 必要なフレームワークのインポート AppDelegate.m にコードを記述する アプリをビルドし確認する 手順詳細 動画ファイルを準備する 起動時に表示したい動画フ
いままでなんとなく使っていた JavaScript のスコープとクロージャについて、あらためて勉強し直しました。 スコープ自体難しいものではありませんが、ここをしっかり理解してないと、クロージャについての説明が出来ないので、自分用のためにメモを残しておきたいと思います。 JavaScript では関数内で宣言された変数は、その関数内でしか見ることが出来ない。関数内に変数が見つからなかった場合、外側のスコープに変数を探しにいく。この仕組みをスコープチェーンと呼ぶ。 スコープチェーンのサンプル [code] function myFuncA() { var a = 1; return a; } function myFuncB() { var a = 2; function myFuncC() { var b = 3; return a+b; } return myFuncC(); } con
Xcode 5 から登場した Asset Catalog が便利です。 すでに Asset Catalog に関する情報はいくつもありますが、これらの情報をまとめ、実際に開発時に自身で使ってみた感想を踏まえながら、メモしておきたいと思います。 Asset Catalog とは? Asset Catalog 以前でもアイコンや起動画面等の画像は Xcode の General 設定から管理できましたが、画像ファイルがアイコンサイズやデバイス毎に増えていくため、画像数が膨大なアプリになってくると、管理が大変でした。 また、多くのアプリは git でバージョン管理を行い開発を進めていくことになりますが、チームでの開発では画像ファイルが増えてくるにつれ、画像の追加や削除、修正時にコンフリクトも頻繁に発生するようになり、開発は混沌としてきます。 Asset Catalog を使用すれば、一つの As
JavaScript で変数を使用する場合に var を使用するときとしないときがあります。var を省略しても一見問題ないように思いますが、使い方によっては両者は別の動きをすることがあります。 そんなこと言われなくても見れば分かるよ、と言われそうですが、ちゃんと理解していないと後で苦労することになるので、今回はこの違いについてメモしておきます。 難しい言葉で説明すれば、var は明示的に変数を宣言する。関数内で宣言された var ステートメントは関数に対してローカルスコープになる。と言うことなのですが、サンプルコードを見ればなんてことはないことが理解できます。 var ありの場合 var を使用すると、そのスコープ内に宣言した名前を生成するため、以下のサンプルでは val はそれぞれ別の変数として扱われる。 サンプルコード [code] var val = 10; var myFuncA
JavaScript には call と apply というメソッドがありますが、両者の違いを説明してくれている情報を元に、自分なりに分かりやすくまとめてみました。 いきなり結論から call と apply の違いは引数の書き方だけ。2番目以降の引数が連続した引数のリストか、引数の配列を一つだけ受け取るか。 だそうです(笑) 言葉で理解することは簡単なのですが、このままでは使用用途が明確ではないので、実際にサンプルコードをみながら次のような順で、両者の違いを詳しく見ていきたいと思います。 説明の概要 call と apply の概要とその役割 call について apply について まとめ call と apply の概要とその役割 そもそも call や apply はどういったメソッドなのでしょうか。 以下のサンプルコードでは、sample_c インスタンスからそれぞれ apply
次のページ
このページを最初にブックマークしてみませんか?
『siro:chro | Programming, Apple topics, Life hack and Notes』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く