2011年6月27日月曜日

風呂で iPhone を使う

iPhone 中毒者は風呂でも iPhone を使いたい。

BB2C や Reeder や 日本経済新聞を風呂の中でも読みたい。

そういう時には、こういうのとか:



こういうのとか:



まあ、さがせばいろいろあるのだが

最も手っ取り早い方法はこれ、ziplock ストックバッグ


簡単で安いのに二重ロックとかすごい。

2011年6月22日水曜日

Distribution ビルドでハマった時に読むブログ

Distribution 向けビルドをやっているときに、何回やっても "Application failed codesign verification" というエラーが出て先に進めない。
Developer ビルドに戻すと普通に動く。

なぜだ〜!

ということで検索しまくって見つけたのがこちらのブログ

Distribution用のデジタル署名を次の二箇所で指定しなければならないということらしい。

  1. プロジェクトの「情報を見る」→「コード署名ID」
  2. ターゲットの「情報を見る」→「コード署名ID」

二箇所に署名登録とかありえねー。
いやー、ありがとうございました。

2011年6月16日木曜日

Dock ケーブルを延長するコード

iPod とか iPhone に付いてくる Dock ケーブルは、微妙に短い。ことわざに「帯に短し襷に長し」と言うが、まさにそんな感じ。しかし、このことわざを考えた昔の人って偉いね。

Dock ケーブルの一端は大抵の場合 USB コネクタになっているので、USB 延長コードを使って伸ばすという手もある。しかし、諸事情によりというか何というか、Dock コネクタの方を伸ばしたい場合もある。

典型的なパターンとしては、iPod nano 用のスタンドに、無理やり iPhone 接続したいとかそういう場合だ。iPhone 用スピーカーもそういう時あるよね。

そんな時にはこれ↓



ELECOM iPad用DOCK延長ケーブル 1m ホワイト AVA-ED10WH

大変便利である。

iPhone/iPod 用スピーカー Philips DS8500 レビュー

前々から、iPhone 用のスピーカーが欲しかったのである。

こうやってブログとか更新しているとき、映画の DVD よりも、音楽を聞いている方が落ち着いて作業できるからだ。PS3 に接続しているスピーカーシステムに AUX IN するという手もあるのだが、これがまたゲインが妙な感じで、ボリュームレベルがPS3と合わない。

以前 JBL の On Station という小型スピーカーを使っていた時期もあるのだが、所詮は小型スピーカーの悲しさ、音がしょぼいし、なんとなくイライラさせる周波数が混じっていたため、オークションで売っぱらってしまった。

前々から BOSE のサウンドドックには注目していたし、いい音もするとは思うのだが、価格的にボッタの世界を感じるのである。非常に有名な製品ではあるが、そういうわけで、いまいち踏み切れずにいた。

ロジテック、サンワサプライ、プリンストン、バッファロー、オーディオ・テクニカというと、どうしても安っぽいイメージが強い。B&Wのツェッペリンなんかは明らかに良い音がするのだが、値段も8万円ほどするし、ボデーもめちゃめちゃでかいので、置き場所に困ることうけ合いである。

そこで、ヨドバシカメラで片っぱしから聞いてみたのである。パナソニックのはどうにもならない音しかしなかったし、ソニーのも微妙に日本のオーディオの典型的な音がするし、安っぽい。大体ソニーのくせに iPhone のペリフェラルなんて作ってんじゃねーよ。TEACもいまいち地味だし、DENON, ONKYO, KENWOOD, Pioneer あたりも安さが表に出過ぎている感じがする。それと、日本のオーディオメーカーって、なんか音がシャリシャリしてないか?

BOSE のサウンドドックはたしかに音がいい。しかしこれって3万円も出す価値あるんだろうか?いろんなレビュー見てもリモコンが使いにくいって話しだし。

そんななか見つけたのがフィリップスの一連のシリーズである。DS9000は音がいいのだが、5万円超と高いのでパス。その次のグレード DS8500 は、価格24千円程度で、BOSE のサウンドドック並の音がしたし、専用のアプリが用意されていて、イコライジングまで操作できるようになっている。BOSE よりはずっと親切な印象である。DS8500より安いのになると、さすがに音が安いのでそれはおすすめできない。

DS8500はこれ↓。



正式名称はPHILIPS Fidelio/フィデリオ DS8500である。

使い方は想像通りこんな感じで、Dockコネクタに差して使う。このドックコネクタがコネクタ単体で飛び出していて、しかも前後に可動式になっているので、結構接続の自由度が高い。ごついプロテクターみたいなのを付けていても装着できるのである。これは親切に考えられているなと思う。



Dockコネクタエクステンダーを使うと、有線リモコンみたいな使い方もできる。これは実に便利。




そしてこのDS8500、iPad も刺せちゃうのである。これはいい。楽しい。PS3で映画なんか見てる場合じゃねー。



自分的にはイコライジングまで設定できるこの専用アプリがかなり気に入っている。BOSEにはこんなアプリないんじゃないか?(あったらごめん)



専用アプリについて詳しくはこちらをどうぞ

まあ、偉そうに言うほど知ってるわけでもないが、一般的なアドバイスとして、2万円以下の製品と、サイズが小さい製品はやめたほうがいいと思う。

2011年6月15日水曜日

カレンダーアプリ


こんな感じで、とても見やすい。




Refills - KGT Inc.

Provisioning の所まで訳してみてわかったこと

なにせ今まで適当に通過してきた Provisioning Profile であるが、なんとなくわかったことがある。

今まで最大の謎だったのが  Development Provisioning Profile における、"Team Provisioning Profile:*" の存在だ。こいつを指定すると、プログラムは普通に iPhone で動くのである。それ以外を指定すると、なんかプロファイルが違うとか怒られたりするのである。

"Team Provisioning Profile" は、Xcode がデフォルトで使うプロファイルなのだ。そして、それには ABCDEFGHIJ.* というワイルドカード App ID が付随しているのだ。("ABCDEFGHIJ" のところは、なんかランダムなIDコードが入る)

実際にリリースするようなアプリケーションの場合は、このワイルドカードではダメで、別途App ID が必要になる。その App ID を指定した provisioning profile を指定する際には、Xcode でターゲットの情報を見て、Identifiler(識別子)欄にその名前を各必要があるのだ。

ここまでは大体わかったのだが、今までのところ、ワイルドカード App ID を作ってないので、ワイルドカードの扱いがよくわからない。

次は Distribution Profile を読んでみたい。

Provisioning Portal の謎〜ひとまず訳してみる005〜Provisioning

Development Provisioning Profile の生成とダウンロード

Provisioning Profile とは、開発者とデバイスを認証された iOS 開発チームの一意な関連付けを行い、そしてデバイスをテストに使えるようにするための、デジタル要素の集合体である。Development Provisioning Profile はアプリケーションコードを動かしたいデバイス全てにインストールされている必要がある。それぞれの Development Provisioning Profile は複数の iOS Development Ceritificate (iOS開発者証明書)と、複数の一意なデバイス識別子と、ひとつのApp IDを持っている。
Provisioning Profile 内に指定されたデバイスをテスト用に使えるのは、プロファイルに自身の iOS Development Certificate (iOS 開発証明書)が含まれている開発者のみである。ひとつのデバイスは複数の provisioning profile をもつことができる。
Development Provisioning Profile の生成
  1. ポータルの "Provisioning" セクションにおいて、チーム管理者は Development タブの "Add" をクリックする
  2. Provisioning Profile の名前を入力する
  3. この provisioning profile に登録するデバイスを指定する。Provisioning profileを使用するためのデバイスを指定する必要がある。もしデバイスのUDIDがprovisioning profile に含まれていないと、プロファイルとあなたのアプリケーションはそのデバイスにインストールされない。
  4. Provisioning profile に登録される iOS Development Certificate を指定する。ここで指定する iOS Development Certificate は、あなたのデバイス上でテストしたいアプリケーションへ署名するのと同じでなければならない。
  5. Development Provisioning Profile に単一の App ID を指定する。ひとつのDevelopment Provisioning Profile に指定できるのは、たったひとつの App ID のみである。だから、あなたのつくる複数のアプリケーションがそれぞれ異なるキーチェーンへアクセスする必要があれば、各アプリケーション用に Development Provisioning Profile をそれぞれ作る必要がある。全く同じキーチェーンへアクセスする複数のアプリケーションのセットを作る場合もしくは、キーチェーンへのアクセスが必要ないアプリケーションを作る場合は、ワイルドカード(アスタリスク)を含む App ID を使用してアプリケーションをビルドすることができる。
  6. Development Provisioning Profile を生成するために "Submit" をクリックする。



Development Provisioning Profile のインストール

すべてのチームエージェント、管理者、そしてメンバーは Development Provisioning Profile の精製後に、それをポータルの "Provisioning" セクションからダウンロード出来る。Provisioning Profile 内に、自身のAppleデバイスIDと、iOS Development Certificate を含む開発者のみがアプリケーションを自分のデバイスにインストールしてテストできる。
  1. Provisioning Portal "Provisioning" セクションにおいて、必要な provisioning profile の横にあるダウンロードボタンをクリックする。
  2. ドックの Xcode アプリケーションのアイコンもしくは Xcode の”オーガナイザー”ウインドウ内にダウンロードされたファイルをドラッグ&ドロップする。そうすると自動的に .mobileprovison ファイルを所定のディレクトリにコピーしてくれる。あるいは、.mibileprovision ファイルをドックの iTunes アイコンにドラッグするか、もしくはファイルを‘~/Library/MobileDevice/Provisioning Profiles’にコピーすれば良い。ディレクトリが存在しない場合、それを作成する必要がある。また、.mobileprovision ファイルのインストールは、オーガナイザーウィンドウの Provisioning セクションの "+" ボタンをクリックしても良い。



アプリケーションのビルドとインストール


あなたはこの時点で認証された iOS Development Certificateと、Apple デバイスそして正常にインストールされた Development Provisioning Profile を持っている。Xcode は今、アプリケーションをビルドして、開発用デバイスにインストールできる。たったひとつの iOS Development Certificate と、iOS Development Provisioning Profile しか持っていない場合、Xcode 内の設定を変更する必要は一切ない。コンパイルとインストールの方法は下記の通り:

  1. Xcode を起動してプロジェクトを開く
  2. プロジェクトウィンドウ内において、左上隅のドロップボックスから‘Device - iPhone OS’ from the ‘Device | Debug’を選択する
  3. プロジェクトターゲットをハイライトさせ、メニューバーの"info" アイコンを選択する。
  4. ターゲット情報ウインドウの "Build" ペインを開く。 ‘Code Signing Identity’ フィールドの‘Any iOS Device’ ポップアップから 開発中のコードに署名及びインストールしたいiOS Development Certificate / Provisioning のペアを選択する。あなたの iOS Development certificate はボールド体で表示され、関連付けられた Provisioning Profileがその上にグレーで表示されている。下記のサンプルでは、  ‘iOS Developer: Team Leader’ Development Certificateであり、'My First Development Provisioning Profile’ がそれに関連付けられた .mobileprovision ファイルである。

  • 注意:iOS development certificate のプライベートキーが失われるかもしくは provisioning profile に iOS development certificate が含まれない場合、iOS Development Certificate / Provisioning Profile のペアが選択できず、下記の表示を見ることとなる。この状況を修正するため、プライベートキーを再インストールするか、あるいは、あなたの iOS Development certificate が含まれているprovisioning profile をダウンロードする必要がある。
5. ターゲット情報の "Properties" ペインにおいて、App ID の Bundle Identifier 部分を入力する。App ID を明示する場合、Identifier フィールドに App ID のBundle Identifier 部分を入力する必要がある。例えば、あなたの App ID がA1B2C3D4E5.com.domainname.applicationnameである場合、com.domainname.applicationnameを入力する。App ID にワイルドカード(アスタリスク)を使用している場合、アスタリスクを他のどんな文字列で置き換えても良い。  
下記に、App ID の例と、Xcode Identifier フィールドへの入力例を示す:
    • App IDの例: A1B2C3D4E5.com.domainname.applicationname
      Xcode
      に入力する Identifier: com.domainname.applicationname
    • App IDの例: A1B2C3D4E5.com.domainname.*
      Xcode
      に入力する Identifier: com.domainname.<name_of_application_or_suite>
    • App IDの例: A1B2C3D4E5.*
      Xcode
      に入力する Identifier: <full_reverse_dns_university_and_application_or_suite_name>
6. アプリケーションをデバイスにインストールするため、 ‘Build and Go’ をクリックする。