カテゴリー : 2013年 7月

[GitHub] Private リポジトリの共有設定方法

GitHub の Private リポジトリの共有設定をどこからやればいいか分かりにくいので、ご紹介します。

GitHub

続きを読む

[SSH] ~/.ssh/config で複数ホストへのSSH接続を管理しよう

SSH接続先をいちいちコマンドで打つのは面倒なので、 ~/.ssh/config で複数ホストへのSSH接続を管理しましょう。

参考情報

SSH_CONFIG (5)

~/.ssh/config で簡単に複数ホストへのSSH接続を管理する – すぱぶろ

[iOS] Run Script を Release ビルドのときだけ実行する方法

iOS アプリ開発で、Run Script を Release ビルドのときだけ実行する方法をメモ。

下記のように、CONFIGURATION の値が Release のときだけ、if 文の分岐を実行するように書けば OK です。

if [ "${CONFIGURATION}" = "Release" ]; then
  echo Do something really release-like
fi

参考情報

xcode – How can I limit a "Run Script" build phase to my release configuration? – Stack Overflow

[iOS] Google Analytics でキャンペーンのトラッキング

iOS アプリで、Google Analytics でキャンペーンのトラッキングをする方法をメモ。

Campaign Measurement – iOS SDK – Google Analytics — Google Developers

Google Analytics SDK を使ったスマホアプリのトラッキング|コラム アユダンテ株式会社

実装方法は、上記のサイトを見て下さい。

キャンペーンのトラッキングをするためには、アプリだけでは完結せず、初回起動後に一度、Safariのブラウザを開く必要があります。

たまに、初回起動時にそういう変な挙動をしているアプリがあれば、それはどこ経由でダウンロードしたのか?などの情報を取得していると思って下さい。

個人的には、この挙動が嫌なので Google Analytics でキャンペーンのトラッキングはしないことにしました。

[iOS] Google Analytics 2.0 で例外をトラッキングしたいなら trackUncaughtExceptions = YES

iOS アプリ開発で、Google Analytics 2.0 で例外をトラッキングする方法をメモ。

公式ドキュメントには、sendUncaughtExceptions と記載されてるけど、そんなものは無いです。(以前あった?)

Crashes & Exceptions – iOS SDK – Google Analytics — Google Developers

ソースコードを確認すれば分かりますが、Google Analytics で例外のトラッキングを設定する場合は trackUncaughtExceptions = YES を指定しましょう。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [GAI sharedInstance].trackUncaughtExceptions = YES; // Enable 
 
  // ... the rest of your code, include other GAI properties you want to set.
}

ドキュメントは、SDKファイルと一緒に含まれてますので、こちらを確認しましょう。

Downloads – iOS SDK – Google Analytics — Google Developers

以上です。

[Android] Google Play で「お使いの端末はこのバージョンに対応していません。」と表示される場合にチェックすべき点

開発した Android アプリが、Google Play で「お使いの端末はこのバージョンに対応していません。」と表示される場合にチェックすべきポイントをメモ。

「お使いの端末はこのバージョンに対応していません。」発生時のチェック項目

下記に、Androidでインストール可能な端末を限定する方法が書かれているので、ここに該当してる項目がないかチェックしましょう。

Android Tips #18 インストール可能な端末を限定する | Developers.IO

カメラ機能を使ったアプリで除外端末になってしまう例

例えば、カメラ機能をマニフェストで要求している場合、カメラを搭載していないAndroid端末は除外対象になってしまいます。

そういう場合は、uses-feature で android:required=”false” を記述する必要があります。

●<uses-permission>を記載して<uses-feature>を記載しなかった場合、自動的に有効になる<uses-feature>がある。

android.permission.CAMERAの例にとると<uses-feature>の記載がなくても以下の機能が有効になります。

<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus"android:required="true" />

どのパーミッションでどの機能が自動的に有効になるかは以下サイトを参考にしてみてください。
http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions

まとめ

カメラや位置情報を使ったアプリだと除外端末が増えてしまうので、しっかり <uses-feature> を確認する必要がありそうですね。

<uses-feature> | Android Developers

必須機能では無い場合、 android:required=”false” を指定して、インストール可能端末を増やして、インストールの機会損失を減らすように心掛けたいものです。

参考情報

Nexus7・N-06D・P-08DにおいてGoogle Playから「端末仕様確認ツール」がダウンロードできない事象について – NTTドコモ開発者情報Blog

[iOS] デタラメな操作で自動テストしてくれる「CrashMonkey」

iOS アプリで、デタラメな操作で自動テストしてくれる「CrashMonkey」が便利だったのでご紹介します。

GitHub: mokemokechicken/CrashMonkey

続きを読む

[Mac] Sublime Text をコマンドラインから使えるようにする設定方法

Mac にて Sublime Text をコマンドラインから使えるようにする設定方法をご紹介します。

まず Sublime Text のシンボリックリンクを張ります。

% ln -s /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

念のため、確認します。

% ls -l /usr/local/bin/subl                                                                   
lrwxr-xr-x  1 your_username  admin  62  7 16 19:44 /usr/local/bin/subl@ -> /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl

シェルの再読み込み(zsh とか bash とか)

% source ~/.zshrc

すると subl コマンドで、テキストファイルを Sublime Text で開くことができます。

% subl some.txt

以上です。

[Android] Nexus7で「開発者向けオプション」を表示して「USBデバッグ」を有効にする方法

Nexus7(ネクサスセブン)で「開発者向けオプション」を表示して「USBデバッグ」を有効にする方法をご紹介します。


「開発者向けオプション」の表示方法

[設定] > [タブレット情報] の「ビルド番号」という項目を7回タップします。

そうすると、設定に「開発者向けオプション」という項目が表示されます。


「USBデバッグ」を有効にする

[設定] > [{ }開発者向けオプション] にて、「USBデバッグ」のチェックボックスにチェックを入れます。

以上です。

[Mac] Nginx を Homebrew でインストール

Mac に Nginx を Homebrew でインストールしました。

Nginx

続きを読む