2015年5月27日水曜日

Apple Watch内で表示される名前と、iphone内Apple Watchアプリに表示されるwatchアプリの名前について

なんだかタイトルが、早口言葉みたいになってますね。。
2015/05/27現在、watch用のアプリは、iphoneアプリとセットにしてリリースしないといけないんですが、それぞれのアプリの名前を入力する箇所がたくさんあります。
実は、僕もwatchアプリの初回リリースの時にやっちゃいまして、Apple Watchアプリ内のwatchアプリの名前と、Apple Watchに表示される名前が違ってました。
実機がないときにSubmitしたので、実機で動かして初めて気づくという感じ。
で、この表記を統一するために、いろいろそれっぽいところを触って、どこがどーなっているのかを確認したわけです。

自分への忘備録として、どこで何が設定できるのかをまとめておきます。


Read more ...

2015年5月23日土曜日

パスワード管理アプリ1PasswordとLastPassの比較

パスワード。。
というかIDとパスワードがたくさんありすぎて管理が面倒です。。

ということで、そろそろパスワード管理アプリを本格的に導入しようかなと考えているところです。

そうやってパスワード管理アプリを調べていると、幾つか選択肢があるようで、その中でも1PasswordとLastPassについて、詳細を比べてみました。

これからパスワード管理アプリを導入しようかな?という方の時間の節約になればと思います。

Last Passのロゴ
こっちは1Password



Read more ...

2015年5月22日金曜日

やりたいことをやる人とやらない人の違い

iphone3Gを買った時から、
このすごい端末で動くようなアプリを作りたいなと思ってた。
その頃はMac持ってなくて、
「開発環境がない」
という言い訳で、アプリ開発を諦めた。

Read more ...

Apple WatchとiPhoneアプリとの間で、データを共有する方法

watch-phone間において
データを共有する方法として、
僕が把握している限りでは、

1)openParentApplication:replyと、application:handleWatchKitExtensionRequest:replyを使う方法

App groupを使う方法
2)app group + NSUserDefault
3)file share = containerURLForSecurityApplicationGroupIdentifier
4)whormHole (app group)
5)realm

App group+Keychain
6)Parse

いうパターンがあるようです。
これらは順を追って記事にしていこうと考えていますが
今回は
1)openParentAplication:replyとapplication:handlewatchKitExtensionRequest:reply
を使った方法で、アプリ間のデータを共有に関して、エントリします。

エントリを書いた2015/05/22現在、Apple Watchのアプリは、iPhoneのアプリに付属した状態でしか作成できません。
通常のiphoneに加えて、WatchKit ExtensionとWatchKit Appを加えることで、Apple Watchに対応したiphoneアプリを作ることができます。

通常のiphoneアプリのプロジェクトに、WatchKit ExtensionとWatchKit Appを加えるのはとても簡単で、File > New > Targetとたどっていき、iOS下のApple Watchを選択すると、WatchKit Appを追加できると思います。

openParentApplication:replyはどうやって使うかというと、、
このメソッド、WatchKitに実装されている関数です。
リファレンスの説明には、
Open the containing iOS app and sends the specified data to it
と書いてありまして、iOSアプリを開けて、データを送ると書いてあります(ざっくり意訳)

もう一つ気をつけることが
Calling the method causes iOS to launch the app in the background (as needed) and call the application:handleWatchKitExtensionRequest:reply: method of its app delegate.

このメソッドを呼ぶと、iOSアプリが”バックグラウンド"で走り、handleWatchKitExtensionRequestが”AppDelegate”で呼ばれます
と書いてあります。

ということで、これらをわかりやすく実装してみました。
Apple Watch上のボタンを押すと、iPhone上のラベルが現れたり消えたりします。

わかりやすくするために、不要なものは極力入れてません。
まず、Apple Watch上のボタンを押すと、(シミュレーターでは、Hardware > External displayで、watchの画面を表示させてないとシミュレーションできません笑)
pushAbuttonか、pushBbuttonがコールされます。
これらの関数は、StoryBoardに配置したボタンからコードに向かってぴーって線を引っ張って作るタイプのアクションです。iOSアプリを作るのと同じ。

で、このアクションの中で、openParentApplicationをコールすることで、Apple WatchからiPhoneアプリへ、データを送ります。
このデータを受け取るのはhandleWatchKitExtensionRequest。
そのため、AppDelegateに、handleWatchKitExtensionRequestを実装する必要があります。
AppDelegateから、それぞれのViewControllerへデータを送るのは、いろいろ方法があると思うので、ここでは触れませんが、今回は通知センターを使って伝えています。
そこまでリアルタイムの動作を必要としてませんし。

急ぎで、Apple WatchとiPhoneとのデータ共有方法について確認されたい方は
AppDelegate.mと、InterfaceController.m(WatchKit Extensionの中)を確認いただければと。

全体通して見てもそこまで多くの量のコードがあるわけではないので、ご一読いただければと。


ではでは。

Read more ...

2015年5月16日土曜日

Apple Watchで、カメラのシャッターを切るアプリのサンプルを作ってみた

いちおうapple watch対応のアプリ
→https://itunes.apple.com/us/app/flkpermitter/id982128143?mt=8
を出している私。
デベロッパーっぽい内容の記事があってもいいだろうと思ったので、今回のエントリを書いています。

前にフリーのデベロッパである堤さんが書かれていたブログに
→http://d.hatena.ne.jp/shu223/20150424/1429850973
apple watchからカメラのシャッターが切れる
という記述があったので、実際に手を動かして作ってみるかと思い、今回ちゃっちゃと作ってみました。
コレ。
https://github.com/sohichiro/cameraRemote

作り方はとても簡単で
・iphoneアプリで、カメラを動作させる
・シャッターを切るメソッドを公開する
・AppDelegate上で、handleWatchKitExtensionRequestを実装して、その中で、シャッターを切るメソッドをコールする

・watchアプリをターゲットに追加する
・ボタンを追加する
・ボタンのアクションとして、openParentApplicationをコールする 。これはAppDelegate上のhandleWatchKitExtensionRequestをコールするトリガというだけ。

という感じ。

カメラを起動させる実装は、クラスメソッドさんの記事がとても参考になりました。というかほぼコピペ。コピペしただけで動作できるレベルの記事を公開していただいてありがたい限りです。余談ですが、ViewController.mにすべきところがViewController.hになってますね。読む人が読めば分かりますが。。
→http://dev.classmethod.jp/smartphone/ios-camera-intro/
今回は一番簡単なUIImagePickerControllerを使う方法で、カメラを起動する実装しました。

ほぼほぼクラスメソッドさんが公開されている記事をコピペして作ったViewControllerに、外部からカメラのシャッターを切るメソッドを追加しています。
//以下の記述を.mファイルに。
-(void)takePicture
{
    // 写真を撮る
    [self.pickerCtr takePicture];

}

//以下の記述を.hファイルに追加

-(void)takePicture;

追加したメソッドを、AppDelegateのhandleWatchKitExtensionRequest内でコールすると。これで、iPhone側の実装は完成。あ、AppDelegate.mにViewController.hをインクルードするのを忘れずに(それは僕だけか笑)

続いて、watch側の実装。
Xcodeのメニューから、File>New>Targetと選び、templeteを追加する画面から、WatchKit Appを追加。
プロジェクトに、WatchKit Extensionと、WatchKit Appが追加されます。

で、WatchKit Appには、Interface.storyboardがあるんで、iphoneアプリのstoryboardに追加するのと同じように、ボタンを追加。ボタンからピーと線を引っ張って、アクションをWatchKit ExtensionのInterfaceControllerに追加っと。

作成したアクションに、openParentApplicationを実装して、一応今回の目的であるカメラのシャッターをApple Watchから切ることが出来る最小限のアプリが完成します。

一応サンプルをgithubにおいておきますので、詳細はコードを確認していただければ。
https://github.com/sohichiro/cameraRemote

とはいえ、カメラを使うコードなので、動作の確認は実機で行っていただければと。
あと、認証コードはどーなんだろう。。

ではでは。
Read more ...

2015年5月15日金曜日

こいつはヤバい。SmartICOCAを落とした時の対処法

とても簡単。
SmartICOCA紛失ダイヤルに電話をして、おねーさんの指示に従って対処する。
これだけです。

これだけだとちょっと中身薄すぎなんで、僕の実体験を。

SmartICOCAを紛失したことに気づいて、とりあえず紛失ダイヤルに電話。
例の「順番におつなぎしております」のコールの後にオペレーターのおねいさんに繋がります。
僕の場合は3分程度の待ちでしたが、この辺りは時間に依る気がします。
気が急いてるとは思いますが、素数でも数えながら落ち着いて待ってください。

でもってオペレーターのおねいさんにつながると
・名前
・生年月日
・電話口は本人か?
を確認されて、登録している電話番号を聞かれました。このあたりは電話での個人確認のテンプレート通りな感じがします。

これらの情報をもって本人確認がなされ、SmartICOCAの所有者であることが確認されると、ふた通りの対応案が提示されました。

一つは、今の状態でカードを無効化して、SmartICOCAの残高や、定期の情報を、新規カードに入れて再発行するパターン。このパターンを取ると、この電話口において、その時点でカードが凍結されるため、カードが発見されても使えなくなっています。凍結前の情報を新規に発行するカードに移し替えて、使用を続行するパターン。
カードに入っている残高もそのまま移行できるのがポイント。
ただしカードが見つかったとしても、そのカードは使えないし、再度カードを発行してもらう手間が発生します。

で、もう一つの対応案は、現金なしでチャージができる(紐付けたクレジットカードにチャージ分請求される)クイックチャージの機能のみ停止させること。悪用されても残高がなくなれば、普通のICOCAと同様に自分でチャージする必要があるので、際限なく自分のクレジットの残高増えることはないと。
この対応案は、カードが凍結されないので、仮に見つかれば、その場でまた使い始めることができるけれども、その時点でチャージされている残高は保障されません。使われて減っているかもしれない。
あと確認はしなかったのですが、きっとクイックチャージの復旧作業をする必要あると思われます。
見つかりそうな心当たりがある場合や、悪用されてもチャージされている分のみなら割り切れる、悪用されないような場所例えば家の何処かとか、会社の中でとかで、落としてるのが間違いないというのであればこっちを選ぶという手もあります。

前者を選べば無条件で、新規発行の手続きが必要(大阪駅まで取りに行くor郵送?)になり、後者の場合でも、結局見つからなかった場合は新規発行が必要になります。

新規発行手続きは、大阪駅に行ってやるか、電話からも、可能なようですが、受け取りは大阪駅で行う必要があるので、電話での新規発行手続きしておいて、翌日以降に大阪駅に出向くのが、一番手間が少ないかなーと思います。
郵送してもらえないのかな??
聞くの忘れちゃった。

という感じです。ではでは。

Read more ...

2015年5月14日木曜日

狭い部屋でもたくさんのモノを収納する工夫

引っ越しをしたので、どうやったらスマートに物が置けるかなーというのを考えたのでメモ書き。
とっても簡単な事なんですけどね。


  • なるべく縦に積む
  • 同じ種類のものは同じところへ
  • モノの定位置を決める
  • 使うところに使うものを置く
こんなところでしょうか。

なるべく縦に積む

これは、下にモノを置いた場合、なるべく天井までの空間を使ったほうが、部屋が広く見えるかなという感覚。
下にモノをおいているということは、その床のスペースはどうやってもモノに専有されるわけで、モノを置いたスペースを縦に有効利用したほうが、何もないスペースは広がるなと。結構上のスペースって余ってるんですよね。
僕はつっかえ棒なんかを使って、上のスペースにモノを置くのが好きです。

同じ種類のものは同じ所へ

これもあたりまえっちゃ当たり前のような気がするんですが、例えばドライバーが自分の机と、作業場の二箇所にあると、どこにどの種類のドライバーがあるかわからなくなるんで、同じ種類のものは一箇所にまとめておいたほうが使い勝手がいいという話。
そーすれば、アレはあのへんにあったとかイメージしやすくなって、必要な物がすぐに取り出しやすくなる。

モノの定位置を決める

上の項目とも関連するんですが、どこに何があるかわからなくなる理由は簡単で、モノが何処においてあるか忘れるから。だから天才の机は散らかっていても、何処に何があるかわかるから余り問題にならない。。のではなかろうかと。。(書いてて自信なくなってきた)
何処においてあるかを忘れないようにするには、いつも同じ場所にモノがあればいい→戻す場所を決めてやればよいという流れ。

使うところに使うものを置く

これまた上の項目とも関連するんですが、モノの位置は、自分が使う場所に近ければ近いほど便利。
モニターの前にキーボードがあるのが便利。
キーボードがお風呂場にあったら、意味ないし、いちいち取りに行く手間もかかるしで、不合理。
とかなので、そのものが、使う場所の近くに配置されていると便利。

という感じです。

ではでは。
Read more ...

2015年4月24日金曜日

Flickrの写真公開設定を手軽に変更できるアプリFLKPermitterをリリースしました

一応、アプリ開発者でもある私。

Apple watchという新しい流れのガジェットが出るタイミングを迎えるということで
せっかくなので、watch対応アプリを、watch発売日にストアに並べてみますかということで、アプリを作りました!
Thank you very much! +Nino Sakuma (ゆこびん) 


Read more ...

2015年3月14日土曜日

pebbleという実験場から見えてくるApple Watchの使い方

pebbleというSmartWatchを使っています。

pebbleは、クラウドファンディングサイトであるKickstarter史上、もっとも多く資金を集めたプロジェクトであり、その金額は1000万ドルを超えて資金が集まり作成されたSmartWatchです。
pebble公式サイト:https://getpebble.com/

すでに第一弾が発売されて結構経ってますが、一般の小売店には出回ってない関係上(実は技適取ってないからだと。)使ってはる方は、なかなか少なそう。

私の場合、2015/01/04に、ついうっかり、公式サイトでぽっちしてしまって、手元に届いたのが01/16。まぁ二週間というところでした。
配送元はシンガポールからということで、まぁこれくらいの日数かかるよなぁというのと、関税の費用支払とかそういう手続きもやったりして、世界規模でコトは動いているよなぁと感じた次第です。

そんな感じで、もう二ヶ月ほどpebble使っているわけで、pebbleってどんなもんやねん?というのを書きつつ、pebbleを使っている感覚から、Apple Watchがどんなふうになっていくかというのを考えてみようかと。


Read more ...

2015年2月17日火曜日

Flickrのプロアカウントが、また無制限に戻っている???

論より証拠と行きましょう。



FlickrのProアカウントへのアップグレードページ。
https://www.flickr.com/account/upgrade/pro

Read more ...

スポンサードリンク