RSS

Archive

5月
28th
permalink

ガジェット系アイコンのお気に入り

Gigazineの「いろいろなモノをiPhone/iPadのアイコン風に表現するとこうなる」という記事を見たら、ガジェット成分が足りていないので僕のお気に入りのガジェット系アイコンを紹介します。
 


Braunの時計 by David Im


Braunのテレビ by Kubilay Sapayer


Braunのラジオ by Anthony Aubertin


Kindle by David Im


PS1 by Raphael Lopes


ラジオ by Artur Kasimov


テトリス by David Im

実機で表示させると細部が見えにくかったり、背景の影は決まっているので思ったほど立体感が出なかったりで、なかなかこんな風にはいかないんですが、かっこいいアイコンは見てるだけでニヤニヤできますね。

5月
23rd
permalink

[開発者向け]Crashlyticsを導入した話

Yomo1.2.6でクラッシュレポートの回収サービス「Crashlytics」を導入しました。

今朝、審査が通ってアップデートをかけたので、1日使ってみての感想です。
長いこと使うとまた意見が変わるかもしれません。
 

Crashlytics導入前

クラッシュレポートはAppleから送られてくるものだと思い、iTunes Connectの”Crash Reports”を確認していました。
今まで、一度もクラッシュレポートが表示されたことはありません。
 

ところが、3月頃からちらほらとクラッシュする場合があるという報告をいただきます。

ごく稀に起こる現象らしく、再現できないのでiTunes Connectのクラッシュレポートを待ちますが、一向に表示される気配がありません。

iTunes Connectのクラッシュレポートを待っているだけではダメだと思い、QuincyKitCrashlyticsを検討しました。  

Crashlyticsに決めた理由

かっこよかったからです。
この記事を見て下さい。
検討する段階では、QuincyKitと機能面での違いは分かりませんでしたが、決断するのに十分なほどCrashlyticsはかっこいいです。

 

Crashlytics導入初日の成果

成果、と言っていいのか分かりませんが、3件のクラッシュレポートを回収することができました。

ひとつはサポートのために使っているTwitterの連携部分、残りふたつはメモリが足りない状況での処理が甘いことに起因するもので、すべて把握していなかった不具合です。

このクラッシュレポートはiTunes Connectでは表示されていません。

これを把握できただけで、導入してよかったと思います。

 

Crashlyticsで分かること

  • 脱獄の有無
  • ストレージの残り容量
  • クラッシュ時のFree RAM
  • OSのバージョン
  • 端末の種類

後は普通のデバッグ時と同じように、クラッシュした行数まで把握することが出来ます。
これは開発時に自動でアップされる.dSYMファイルと照らし合わせてくれるため。

基本的には普通のクラッシュレポートです。

 

おすすめです

1日だけ使った感想ですが、おすすめです。
例えて言うなら、雨乞いの踊りと灌漑くらい違います。

自前でサーバーを用意するなら、QuincyKitを。
運用を任せたいならCrashlyticsや、他にHOCKEY APPというのもあるらしいです。

Crashlyticsは見やすいと言えば見やすいですし、サーバを監視している訳ではありませんが、重いことも不安定に感じることもまだありません。

新しいアプリでも使おうと思っています。

permalink

Yomo1.2.6アップデート : クラッシュレポートの自動送信

6日前のYomo1.2.5アップデートに続いて、1.2.6アップデートがAppleの審査を通りAppStoreに並びました。

AppStoreを立ち上げて、アップデートを行って下さい。

アップデートの内容

  • 起動直後の安定性の向上 (ごく稀にクラッシュする件を修正しました)
  • 起動時間の改善
  • クラッシュレポートの自動送信

主に、起動直後の処理を見直しました。
派手な機能追加ではありませんが、地味に安定性が向上し、起動時間が改善されています。

クラッシュレポートの自動送信については次に詳しく書きます。

クラッシュレポートの自動送信

クラッシュレポートとは、プログラムが意図しない方法で強制終了した時の状況を記録したデータです。
このデータは個人情報を含まず、通常はiPhoneからAppleへ自動送信され、その後、開発者に送られます。

このAppleのシステムが、アプリの完成度を高めるには不十分だったので、クラッシュレポートを自前で自動送信するという判断に至りました。(*1)
 

  • レポートが送信されるタイミングは、アプリがクラッシュして次に起動されたタイミングです。

  • ここで、送信されるデータには、記録したデータなどの個人情報は一切含まれません。

  • 完全に匿名でレポートが送信され、送信されたレポートはアプリの品質を高める目的にのみ使用されます。

自動送信ということで、不安に思われる方もいらっしゃるかもしれませんが、ご理解いただければと思います。

 

と、ここまで書きましたが、実はクラッシュレポートはまだ一度も送信されていません。

Yomo1.2.6をリリースしてから3時間ほど経っていますが、インストールされたすべてのアプリがクラッシュすることなく動作しているのだろうと思います。

 
今後とも、Yomoをよろしくお願いいたします。

 

 


(*1): 具体的に言うと、開発者に届くまでに時間がかかる上、最新版のクラッシュログしか確認できません。頻繁なアップデートをするとアプリがクラッシュしていることすら把握できないことがありました。

追記
一件だけクラッシュレポートが届きました。
設定画面から、開発者宛にTwitterでつぶやく際に稀にクラッシュするみたいです。
重要度が低いので時間がある時に修正します。

permalink
5月
21st
permalink

NFC経由で貰ったデータを一時に保管しておく仕組み

NFCがついにiPhoneにも来るんじゃないかと言われていますが、アプリ開発者にもAPIが解放されると夢が広がりますね。

NFCに限らず、互いに通信が必要なアプリは、それぞれの端末にそのアプリがインストールされている必要があります。
連絡先を交換するために、その場でアプリをインストールする&させるというのは、ものすごくハードルが高い。

そこで、NFC経由で貰ったデータの一時的に保管しておく仕組みがあると便利なのではないかと思います。

 

たとえば連絡先交換アプリの場合

たとえば、片方のiPhone(A)にBumpがインストールされていて、もう一方のiPhone(B)にはBumpがインストールされていない、という状況。

この状況で、iPhone(A)はNFC経由で連絡先情報をiPhone(B)に送ってしまうことができます。余計なインストールの手間はありません。
 

送られたデータはアプリ情報と紐づけられていて、iPhone(B)が家に帰ってから、そのデータを開こうとするとAppStoreからアプリをインストールするよう促されます。
 

アプリをインストールすると、送られたデータを開くことができます。
 

ここからは、アプリ側の実装になりますが、データを開いた時にiPhone(B)の連絡先情報をiPhone(A)に送るよう促すとスムーズな連絡先交換が実現するはずです。

 

お願い!Apple!

NFCを組み込むなら、こんな仕組みを是非作って下さい。
お願いします。(他力本願)

5月
16th
permalink

クラッシュレポート回収サービス Crashlytics

昨日、QuincyKitを使ってみて、紹介したばかりなんですが、今朝Crashlyticsからメールが届き、ベータテスト中だけどフィードバックをくれるなら招待するよとのことだったので、早速Crashlyticsを使ってみました。


 

機能

QuincyKitとの違いは、

  • サーバーの設置&運用の必要がない
  • Crashlytics for MacでdSymの自動アップロード
  • ベータ版なので最終的なコストが分からない
  • 開発者向けサービスとは思えないレベルのUX

負荷に関しては自信があるらしく、米AppStoreで15位に入ったアプリをいくつかホストしているとのことでした。

実運用に組み込んでも大丈夫とのこと。

デザイン

全体的に、とてもかっこいいです。
とても、クラッシュレポート回収サービスとは思えません。


ベータテストの招待


登録画面

Crashlytics for Mac
dSymを自動アップロードしたり、セットアップを行ってくれます。

ダッシュボード

新しいタイプのクラッシュが出現するとメールが飛んできます。
丁寧に、ファイル名と行数まで。
 

デザインは本当にかっこよくて、使っているだけでニヤニヤできます。

開発者向けサービスに、このレベルのデザインが必要か?と言われると、必要ないかもしれません。

が、そんなのがどうでもよくなるくらい、さわって楽しいサービスです。

使い始めるまで

Crashlyticsからベータテストの申し込みをします。
半日くらいで、要返信のメールが送られてきました。
フィードバックをしてくれるか?開発中のアプリはあるか?というようなことを聞かれました。
これに返信をして、しばらくすると招待メールが送られてきます。

ご参考までに。

permalink

ベータテストへの参加方法 : TestFlightの使い方

ベータテスターの募集はこのブログ上で告知する予定です


TestFlightとは

TestFlightはAppStoreに並んでいないiPhoneアプリを簡単にインストールするためのサービスです。

このTestFlightを使うことで、次のようなメリットがあります。

- リリース前のアプリを無料で使うことができる
- Appleの審査(1週間~10日程)を通さず、すぐに使うことができる

TestFlightからアプリをダウンロードするためには、テスターとして開発者から招待される必要があります。
 

TestFlightへの招待を受け取ったら

開発者から招待を受け取った後、TestFlightへ登録し、端末の情報を開発者へ送る必要があります。これは初回だけの作業です。

開発者から招待を受けると、以下のようなタイトルのメールが届きます。

[開発者名] has invited you to join the [グループ名]team on testfilghtapp.com

このメールはiPhone、iPod touch、またはiPadで開いて下さい。


↑ ~@i.softbank.jpまたはPCのメールアドレスでメールを受け取った場合。


↑ ~@softbank.ne.jpでメールを受け取った場合。

メール中の[招待受け取る]リンクをタップします。
リンクをタップすると、登録画面に移動します。

項目をこのように埋めて、Sigin Up »ボタンをタップして下さい。

ここで登録した名前は、開発者が確認することができます。
必ずしも実名を入力する必要はありません。

登録が完了すると、このようにInvitation Accepted!と表示されます。

これで、ユーザー登録は完了です。

  

次に、iOSデバイスの登録を行います。

ここでは、端末識別番号をTestFlightと開発者へ送信することになります。
( AppStoreを経由せずに ) お使いのiOSデバイスでインストール可能なアプリを作成するためには、端末識別番号が必要になります。

端末識別番号を利用する方法は、いわゆる脱獄(jailbreak)とは違い、Apple公式の手順です。


まず、Go to your Dashboard »ボタンをタップして下さい。


次に、Register Deviceボタンをタップして、プロファイルをインストールします。



完了を押すと、プロファイルのインストールは終了です。


ホーム画面にTestFlightのアイコンが追加されています。

ここまでが、初回だけの作業になります。

登録した情報を使い、開発者がアプリを作成します。
アプリがインストール可能になるまで、しばらくお待ちください。

また、登録が終わると、開発者に通知が届きます。
登録終了のメールを送っていただく必要はありません。

アプリのインストール

アプリのインストールは非常に簡単です。

インストールが可能になると、

[アプリ名] is now available

というタイトルのメールが届きます。


メール中のInstallボタンをタップすると、インストールを開始します。

アプリをインストールできない場合の対処

1時間程待ってもアプリをインストールできない場合は開発者(@yomoappまたはyomoapp[at]gmail.com)へご連絡ください。

5月
15th
permalink

Yomo : 次のマイナーアップデート

Yomo2(仮)を開発中のため、2月のアップデート1.2.4から時間が空きましたが、ひさびさのアップデートです。

 

1.2.5 : 不具合修正

1.2.5の修正点は以下の2点です。

  • 設定画面が適切に反映されない不具合の修正
  • タイマーの安定性の改善

ダウンロード数が増えるにしたがって、多くのフィードバックいただけるようになりました。
おかげさまで、見逃していた不具合を修正することができました。

ありがとうございます。

1.2.5はすでにリリースされています。
AppStoreを立ち上げてアップデートを行って下さい。

 

1.2.6 : 起動時間の改善 + 不具合修正

  • 起動直後の安定性の向上 (ごく稀にクラッシュする件を修正しました)
  • 起動時間の改善
  • クラッシュレポートの自動送信

起動直後にクラッシュする場合があるという報告をいくつかいただいていました。 原因が判明したので、これを修正しました。

これを解決しようと試行錯誤していたところ、不具合とは別に、起動時間の改善を行うことができたので、速くなっています。
iPhone4Sは十分に速いので違いが分からないと思いますが、iPhone4では体感できると思います。(0.2秒程度)

また、クラッシュした場合に匿名でクラッシュレポートを自動送信するようにしました。
今後、クラッシュするような不具合があった場合には素早く対応することが可能です。

Yomo1.2.6はAppleの審査中です。

今後ともYomoをよろしくお願いいたします。

5月
13th
permalink

cofariの使い方

GameCenterは本番環境ではなく、サンドボックスを使用しているので多少面倒です。

アカウントの用意

サンドボックス用のアカウントを2つ作成して下さい。
GameCenterアプリでログアウトした後、cofariを立ち上げると、サンドボックス用のアカウントを作成できるようになるはずです。

2つの端末で、それぞれにアカウントを作成して下さい。
(割と面倒です。申し訳ありません!)

友達設定

片方のiPhoneでGameCenterアプリを立ち上げ、もう片方のアカウントと友達になってください。
通知が来ない場合は、設定>機能制限でGameCenterの制限を外して下さい。

これで、初回の準備完了です。

相方の招待

片方のiPhoneで、「招待」ボタンを押して下さい。
GameCenterの要領で、先程友達に設定したアカウントを招待します。

友達を招待すると、招待された側のiPhoneに通知が届きます。
この通知を間違いなくタップして下さい。
今の実装では、これを逃すと招待をやり直す必要があります。

招待が完了したら、招待元のiPhoneから右上の「Play now」をタップして下さい。

同期が始まります。

招待が機能しない!

→ アプリを再起動して下さい。

permalink

cofari : 2人のためのひとつのブラウザ

»>クックパッドの方へ。cofariの使い方をお読みください«<

昨日の9時から24時間で開発を行う、クックパッド主催の第3回 開発コンテスト24に参加してます。

お題は「一日の終わりを楽しくするもの」

このお題に対して、cofariというiPhone用のブラウザを作りました。
 


ネットが大好きなカップルが、いや、友達でもいいんですけど、まぁとにかくネットが大好きな2人が、会えない日、夜寝る前に布団の中で、同じサイトを同じように見ることができるアプリです。

電話しながら使って下さい。

実装はObjective-C。デザインの素材はYomoから流用し、ブラウザ部分はいけてるオープンソースのTHWebViewControllerを使わせてもらいました。
通信部分はGameCenterです。



アイコン。
Yomoで作ったSafariアイコンと、ボタン用の背景画像をくっつけただけ。
TestFlightとの相性がなかなかいいです。


起動画面。またSafariアイコン流用。
 


起動直後
お絵描きしました。
 


招待ボタンを押すと、GameCenter経由で相方と同期されます。
 

ブラウザ。
これが同期します。