2013/05/08

staticライブラリを含むcocoapodsを使うときのメモ

staticライブラリを含むcocoapodsを使うときは、アプリ側のbuild settingsに"$(inherited)"を追加しておくといい感じ。



podのCrittercismSDKを使うときにBuild Errorになって探したところ、

CocoaPods@githubでそれっぽいコメントを発見。

試したところ期待どおりに問題が解消しました。

これでいつも通りにpodsが使えます。


公式ガイドのFAQ 1が該当するのかも。

2013/04/11

bundlerから始めるruby

久々にrubyを触ってます。難しいですが書いてて楽しい。

以前はシステムで共通的に利用されるgem(要root権限)を使ったり、自分のアカウント用にrubygemsをインストールして使ったりと不便でした。
(rvmのgemsetで管理とか話は聞きましたが、大変そうだったのでスルーしました)

ここでbundler (http://gembundler.com/) の登場。

bundlerを使えばプロジェクト毎にgemを管理できるように。これでモヤモヤしてた気持ちがスッキリ。

目的:

bundlerを使ってプロジェクト毎にgemを管理する感じにしたい。

対象:

プロジェクト毎にディレクトリ作って、そこにファイルをまとめたいruby使い向け。
(ただし、railsとかtemplateを作ってくれるコマンドがある場合はそっちを使う方がいいはず)

環境:

ruby-1.9.3p392, bundler 1.3.5

こんな風にするといいぽいと思った事を書いてみます。

準備

 1. とにかくbundlerのgemをインストール

$ gem install bundler

最初の手順


 1. プロジェクトのディレクトリを作ってそこに移動

$ mkdir ${project_name}
$ cd ${project_name}

 2. bundlerの初期化

bundle init

 3. プロジェクトローカルでgemを入れておく場所を作る

$ mkdir vendor/bundle

 4. 最初のbundle

$ bundle install --path ./vendor/bundle

(.bundle/config に --pathを保存されて、以降のbundleコマンドで有効になる様子)

それ以降(必要なときに)

 1. なにかgemが必要になったらgemを追記

$ vim Gemfile
 2. bundleコマンドで必要なgemをプロジェクトローカルにinstall
$ bundle update

mosh + 公開鍵認証

遠くにあるサーバへsshでリモート接続して作業してると、たまにキー入力に対するレスポンスが悪くて悲しくなります。

 そんなときはmosh(mobile shell)を使うと少し悲しさが減ります。

便利機能や設定方法はgoogleに聞いてもらえればいいのですが、普段使っているsshの公開鍵認証の使い方が見当たらなかったので書いてみます。

こちらの~/.ssh/configの設定の方が普段使うには便利そう.

目的:

   ssh+公開鍵認証 を moshでも使いたい

方法:

mosh --ssh="ssh -p $(port) -i $(private_key)" user@host

補足:

  moshには"--ssh" オプションがあってmoshの中でsshセッションを開始するときに実行するコマンド名とオプションを渡せる様子です。

 ということで、普段こんなコマンドを叩いている人は、
ssh -p 3001 -i ~/.ssh/id_rsa user@hostname

  こんな感じに置き換えて、クライアント側で実行するといい感じです。
mosh --ssh ="ssh -p 3001 -i ~/.ssh/id_rsa" user@hostname


2013/01/11

分かりやすいiOSアプリのリンクURLの作り方

日頃お世話になっているStackOverflowからのメモ。

元記事:How to link to apps on the app store


AppStoreで公開されているiOSアプリへのリンクURLを作る方法。

Company Name, Application NameからURLが作れるらしい。

  • 特定のiOSアプリへのリンク先URL
    • http://itunes.com/apps/#{appname}
  • 特定のdeveloperが作っているiOSアプリのリストへのリンク先URL
    • http://itunes.com/apps/#{companyname}
  • 特定のdeveloper/iOSアプリへのリンク先URL
    • http://itunes.com/apps/#{companyrname}/#{appname}

URLの先頭が"http://"のままだと、リンク先を開いたときにリダイレクトが入るらしい。

リダイレクトさせたくないときは、URLのスキーム部分を"itms-apps://"にする。

#{appname}, #{companyname}の部分は適宜入れ替えて使う感じの様子。


例) chrome appへのリンク先
メモ:"Google, Inc." => "googleinc"、"Chrome" => "chrome"に変換されてます(ルールは下記参照)


ここの#{appname}, #{companyname}は以下のルールに従ってフォーマットする必要があるらしい。
  1. whitespaceを削除
  2. すべて小文字に
  3. copyright(©), trademark(™), registered mark(®)は削除
  4. "&"は"and"にすべて置換
  5. 以下の記号は全部削除
    !¡"#$%'()*+,\-./:;<=>¿?@[\]^_`{|}~
  6. Replace accented and other "decorated" characters (ü, å, etc.) with their elemental character (u, a, etc.)
    (最後の文はしんどかったのでそのまま。雰囲気で感じてください)

詳しくは、以下のサイトを。