2016年11月25日金曜日

Apple Watchについては下記のような意見をよく目にします。実際に使われてのコメントなので、正直な感想だと思います。
"iPhoneがあればWatchは不要。通知もiPhoneで見ればいいし。"
"iPhoneを運べないようなきついスポーツ用に単体で使えるアプリない現状ではWatchは無意味。"
ただ、万人がそうだと断定しているように読めるのが気になりましたので、違う意見を書いておきたいと思います。

前提

前提として、Apple Watchが役に立つかどうかは、生活スタイルによるところが多いのではないでしょうか?
特に、公共交通機関の乗り降り、乗り換えを含む、徒歩移動が多いか少ないかではないかと。 仕事中も殆どずっと自席に座っていると、仕事中はPCだけでも充分かもしれません。

通勤

私の場合は、1回乗り換える電車通勤があり、電車内だけでなく徒歩移動中もかなりの人口密度になります。
そのような時は、Watch+Y!乗換案内で、都合のよい電車に乗るのに急ぐべきかが分かるのは、とても便利です。おかげで急いだのに、途中駅どまりの電車だった といった残念なことが防げています。
これにいちいちiPhoneを鞄やポケットから出していると、急げないし、急いでそれをすると危険です。時刻を確認する程度の動作でできるのがポイントです。

仕事中

仕事中も1日3~5回の会議があります。会議室の数も数十室あり、PCや飲み物をもって移動することになります。
こちらも要点はさきほどと同じです。ここで使うのはWatch+Outlookです。会議だ!と席を立ってから、会議室はどこか?をサクッと知りたいのです。PCなどで手が塞がっているので、iPhoneを出して起動するのが面倒なんです。
(立つ時に見たはずの会議室を覚えてないという短期記憶の悪さが原因の気もしますがw)

通知は、緊急さでアプリ毎にOn/Offすると結構便利です。
PCには仕事系は全部、iPhoneにはほぼ全部、Watchには緊急度の高いものだけが通知するように設定しています。 そうすると、集中しているときでも、通知を今すぐ見るべきかが分かります。

休日のおでかけ

iPhone運べない程の きついスポーツなどしないw。 かる~いスポーツでもiPhoneを出さずに確認できるのは、とてもラクちん。サイクリングで走りながらでも難なく確認できる。
地図の確認など、必要性がとても高いなら、信号待ちなどでiPhoneを出してもいいのですが、どの程度のworkoutかな?とかはやらない。ウォーキングとかもそう。それこそ、お散歩ならいつでもiPhoneを操作できるのですが、あまりやらない。(1人ならするかもですが、1人で散歩はしないし)
ラクにできるのがキモチ良い。
そうそう、標準のアクティビティとかワークアウトとかでもいいけど、Flask LLPさんのZonesがリアルタイムで運動強度の確認ができて結構いい。 センサーの関係でiPhoneだけで同じことは出来る訳ないが、万が一できても利用シーン的に不自然で使わないかな。

家で

itunes(musicね)のリモコンも便利。 実際には家の広さは関係ない。食事初めてから席を立たずに音楽をかけられるのはキモチいいですね。

まとめ

そういえば、スマホが出始めのころ、PCがあればスマホは不要と言われていました。実際には、いつでも使えるというところが棲み分けポイントでした。(最近はスマホあるからPC要らないになってますが。。。w)
Watchとの棲み分けは、もう少し微妙で、キモチよいかどうかという程度なのかも知れません。
Watchでないとできないキラーアプリが必要という意見もありますが、スマホにもそんな機能はなかなかない気がします。いつでも!とか、キモチいい! なのかなと思います?

蛇足ですが、実は一番良く使っているのはiPhoneを探す機能かも。家の中で、すぐどっかに行くのですw  (いや、毎日8回は必ず使うsuicaが一番か?w)

2016年11月4日金曜日

また新しいアプリをストア公開しました。 タイマーアプリです。

今回は、このアプリのメイキングオブ的なお話です。


実は、はじめからタイマーアプリを作りたかった訳ではないのです ^^;;

別なアプリを考えている時に、数字の入力方法の新しいUIを思いつきました。
新しいUIというのは、ボタンです。 タップするとボタンに書かれた数字が入力できます。 そして、ドラッグすると大きくなり、大きくなるにつれて、入力できる数字も大きくなります。 その状態で指を離すと その時の数字が入力されます。
あまり見たことがない操作方法なので、ドラッグ&リリースとか勝手な名前を付けています。^^;;

先ほどのアプリ自体は、行き詰ったというか、少し飽きてほったらかしです。(最近、そのパターンが増えましたww)
でも、このUIを試してみたくて、簡単に作れそうで、数字の入力が主であるモノとしてタイマーを思いついたという次第です。




流石に、これだけでは つまらないので、タイマー自体の機能も少し工夫してみました。
タイマーって、スタートさせると、一時停止ぐらいしかできませんよね? それを、カウントダウン中にも 時間を調整できるようにしてみました。
出来上がって自分で使ってみると、この逆転が ちょっとキモチいい。 とりあえず、タイマーを開始して、それから何分にするかをゆっくり考えられる。 ただそれだけなのに、ラクちんなんです。


という訳で タイマーアプリができました。
いつものように無料アプリですので、よろしければ是非お試しください。

2016年9月7日水曜日

ハマったことシリーズ No16.

今回は、Stroryboardで UIScrollViewを貼ったときに 不要な余白が入っちゃったお話です。

ヘルプ的なものを縦に長い画像で作り、それを縦スクロールで見てもらうことにしました。 このくらいはコード不要で出来るかなと調べると、とても参考になる記事が! ありがたや。
 [iOS] Storyboard上で UIScrollViewを設定する

基本的には このとおりやれば出来ます。 少し悩んだのが、UIImageViewの"高さ"の制約。 画像は事前に用意したものですが、参考記事のように高さの制約を絶対値で入れると、画像のアスペクト比が狂ってしまいます。UIImageViewにAspectFillを設定してもAutolayoutの計算には使ってくれないようで、UIImageViewのAspect比の制約を自分でちゃんと設定する必要があります。

これで出来上がりと思ったら、上部に不思議な余白が。。。  UIScrollViewの地色が見えていました。
UIScrollViewの上部制約をいつもの調子で Top Layout Guideに合わせたのが原因でした。 ただ、storyboard画面では綺麗にレイアウトされて見えるし、というか逆にSuperviewの上部に合わせると 下図のように 画像の上部が見えないし・・・、しばらく悩みました。

余白の高さは ナビゲーションバーの高さっぽいところでピンッと来て、試しにUIScrollViewの上部制約をSuperviewの上部に合わせてみると解決しました。

ナビバーがあるとUIViewControllerのルートに乗ってるUIViewが、縮み さらにTop Layout Guideの位置が、すなわち UIScrollViewの上部が下がるのでしょうかね?   っと言っても…、スクロールビューが下がり ルートViewが見えてるわけでもなく。。。。 ちょっと意味不明。  contentSizeとかがズレるのでしょうか。。。
ちょっと疑問点が残りますが、上手く行ったということでwww

2016年8月30日火曜日

今回は、iTunesConnectでのアプリスクリーンショットの簡易提出関連の覚書です。

iPhone、iPadとも最大サイズのスクリーンショットをアップロードすればよくなりました。

  • iPhoneは 5.5inch サイズの1242×2208
  • iPadは Proサイズの2048×2732

当然、最近はAutolayoutで作っているので、640x960、640x1136、750x1334、1242x2208、・・・などと解像度が違えば、表の表示個数が変わったり、細かな違いはあるものの大枠は同じです。 ありがたく使っちゃいましょう。(新しく作ったアプリが、ユーザの方にウケたら、イロイロ凝るという戦略もアリでしょうw) 

解像度の違うマシンも画面かも知れないことのヒントも兼ねて、iPhoneへのはめこみ合成をしましょう。  現在、LaunchKitが使えないので、そーいう時は iPhone Screenshot MakerなどでiPhoneへのはめ込み合成をします。
文字入れとか凝ったレイアウトなんかは power pointとか使うこともあります。 そのときは21.03cm×37.389cm(iPadは proの1/2サイズで17.37cm×23.13cm)の画像を作って、多少解像度が違うところは Macのプレビューでサイズ変更すのが楽ちん。 どうせ、プレビューの書き出しでαチャンネル無しにしたるするしねw


2016年8月26日金曜日

ハマったことシリーズ No15.

今回は、swiftでiOSのバージョンが特定値以上かを判定するお話です。

以下のようなコードで iOS8系か、iOS9系かを判定していました。
ios8VersionFlag = Float(UIDevice.currentDevice().systemVersion) < 9

しかし、バージョンが 9.1などならいいのですが、9.3.4などとなると Float("9.3.4")というのはFloatに変換できず、nilとなる。 つまり、(nil < 9)の結果として、Flagがtrueとなってしまい、障害の原因となっていました。(see→補足)
最終的には、こんなコードにしました。 これなら安心。
ios8VersionFlag = UIDevice.currentDevice().systemVersion.compare("9.0.0", options:.NumericSearch ) == .OrderedAscending

2016年8月24日水曜日

ハマったことシリーズ No13.

今回は、UITextFieldのinputView に穴のあいたキーボードを設定しようとした話しです。


下のUIButtonが操作できるように、穴があいているキーボードをUIViewを継承して作ろうと思いました。 穴の部分は、そのUIView自体で、色をclearColorにして、タッチイベントをnextResponderに伝えようにしすればいいかなと。
穴でない部分は、普通のボタンなどを貼るつもりでした。

が、実際に作ってみると、ダメじゃん!! 

穴ない(ブラー??)、タッチイベントも通らない。 きっと、下地として UIViewがあるんですね。 


つまり、この方法はムリっぽいのね。 自力でやるしかないか。。。

ハマったことシリーズ No14.

今回は、複数Macでの開発に伴う試行錯誤の覚書です。

証明書のコピー




Organaizerで、「何度も キーチェーンのアクセスのID/PW入力がでる現象」


  • iOS Developer、Apple IDの秘密鍵のアクセス制御を、「これらのアプリ~常に許可」に ”xcode”を指定
  • iOS Distributionの秘密鍵は xcodeで常にではなく、全てのアプリに許可にする。(なぜ?w)
  • 証明書は 信頼 > 「システムデフォルトを使用」 にしておかないと、iTMS-90034エラーが出る。(上記現象を直す試行錯誤として、「常に信頼に」したらダメだった)