1月28日(土)に「iPhone Dev Sapporo勉強会」と「みんなで Swift 復習会 GO! in 札幌」が開催されます。 #devsap #minna_de_swift

1月28日(土)に札幌のiOSアプリ開発者コミュニティ・iPhone Dev Sapporo主催の勉強会と新年会をおこないます。
devsap.connpass.com
devsap.connpass.com

今回は横浜の @es_kumagaiさんが来札され、勉強会当日の午前中に「みんなで Swift 復習会 GO! in 札幌」を開催される予定です。

cswift.connpass.com


iOSアプリ開発者にとって盛りだくさんの1日になりそうです。ぜひご参加下さい。

XcodeでArchiveするたびにBuild番号を自動更新する方法

前々からやろうやろうと思っていたアーカイブ時のビルド番号の自動更新。
ようやく重い腰を上げてやってみました。
多分これが最もシンプルな方法です。


1. XcodeのBuild PhaseにRun Scriptを追加する。

2. 以下のコードをコピペする。内容はInfoPlistファイルからビルド番号を取得して+1して元のファイルに書き込んでいるだけ。

infoPlistFile="${SRCROOT}/${INFOPLIST_FILE}"
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${infoPlistFile}")
buildNumber=$((${buildNumber%%.*} + 1))
/usr/libexec/PlistBuddy -c "Set:CFBundleVersion $buildNumber" "${infoPlistFile}"

3. Run script only when installingにチェックを入れる。ここにチェックを入れることでアーカイブ時にのみScriptが実行されるようになる。

4. Run Scriptを出来るだけ上の方にドラッグする。実行する順番を早くするため。

5. ターゲットが複数ある場合はそれぞれに同様にRun Scriptを追加する。


以上でアーカイブするたびにビルド番号が自動で1ずつ増加するようになります。


初めはもっとシンプルにagvtool next-version -allをRun Scriptで実行しようとしたのですが、それだとアーカイブが必ずキャンセルされてしまいました。
色々調べていたところ上記のやり方に至りましたが、その中で見つけた@es_kumagaiさんの記事が詳しくて参考になりました。ありがとうございます。
program.station.ez-net.jp

FastEver 2のブラックフライデーセールを開催中です。

2016年は日本でもブラックフライデーのセールをするお店が増えているそうですね。
その流れに乗ったというわけでもないですが、本日からブラックフライデーセールとしてFastEver 2を50% OFFで販売しています。


FastEver 2はEvernoteに素早く簡単にメモを保存するためのアプリです。
アプリを起動するとすぐに入力画面になるので、アイデアメモや備忘録などに最適です。
オフライン時に保存したメモも、オンラインになったあとで自動的にバックグラウンド送信されます。


ぜひこの機会にお買い求めください!


https://itunes.apple.com/jp/app/fastever-2-su-zaoku-jian-dannimemo/id1039596715?mt=8&uo=4&at=11ldBU

iMessage用ステッカー「Pixel Birds Stickers」をリリースしました。

https://itunes.apple.com/jp/app/pixel-birds-stickers/id1157309789?mt=8&uo=4&at=11ldBU

iMessage用ステッカー「Pixel Birds Stickers」をリリースしました。
先日リリースしたTiny Little Birdで登場した鳥のドット絵を使っています。

frnk.hatenablog.jp


今回はコード記述不要なSticker Packで、しかもグラフィック流用なので、制作はほぼ手間いらず…と思ったんですが、なんやかんやで作業は必要でした。
Sticker Packと言えどアイコンは12サイズ(iTunes Connect分を含む)必要だったり、通常のアプリのようにスクリーンショットや説明文なども作らなければならなかったり…。
特にドット絵の場合はアイコンを単純な拡大縮小で作れないので結構めんどくさかったですね。

とはいえ、普通にアプリを作るのに比べたらはるかに楽チンなので、グラフィックを作れる人はiMessage用ステッカーを作ってみてはいかがでしょうか?


iOS 10 Messages App「Tiny Little Bird」をリリースしました!

本日リリースのiOS 10Apple純正メッセージアプリ内で利用出来るMessages Appが使えるようになりました。

そこで、チャットアプリ時代の幕開けとなるMessages Appのローンチに合わせて、新しいコミュニケーションや会話のきっかけになるアプリをリリースしました。
https://itunes.apple.com/jp/app/tiny-little-bird/id1148527565?mt=8&uo=4&at=11ldBU


「Tiny Little Bird」はメッセージのトークルーム内で飼うことができるバーチャルペットです。
1日に1回、誰かが必ず世話をしなければなりません。
指でつついたりなでたりすると反応を返してくれます。


「Tiny Little Bird」を飼い始めることで、あまり会話がなく放置されがちなトークルームでも友達と一緒に何かをしている感覚が生まれ、さらには会話のきっかけにもなるでしょう。
また、活発なトークルームの場合でも、さらに賑やかになってコミュニケーションがより活発になるかもしれません。


無料ですので、ぜひダウンロードしてみてください。


www.youtube.com


https://itunes.apple.com/jp/app/tiny-little-bird/id1148527565?mt=8&uo=4&at=11ldBU

友達や家族と一緒に、小さな鳥を飼ってみよう。

Tiny Little Birdはメッセージ上で飼うことのできるペットです。
1日に1回、誰かが世話をする必要があります。

新しいコミュニケーションとして、また会話のきっかけとして、かわいいペットを飼ってみませんか?

文章を画像化するアプリ「Lemon」をリリースしました!

最近はTwitterにメモアプリのスクショを使って長文を投稿する技をたびたび見かけるようになりました。
そこで、文章を画像化するための専用アプリがあると便利なんじゃないかと思って作ってみました。


シンプルで使いやすい道具として作ったので、ぜひダウンロードしてみてください!


Lemonは文章を画像にするアプリです。
140文字以上の長文も画像にすることで簡単にTwitterにシェアできます。
フォントや色も変更できるので、文章をさらに自分らしくすることができます。

特徴
• 文章を画像にして保存できる!
• フォントや色を変更できる!
• 出来上がる画像はスマホの縦画面(16:9)にピッタリ!
• 1枚に収まらない長い文章は自動で複数枚の画像に分割!
スクリーンショットではないので画像化するときにシャッター音がしない!


おまけ

Apple TV向けゲームアプリにおけるSiri RemoteのMenuボタンの正しい挙動について

本日、Flying ColorのtvOS版をリリースしました。 

frnk.hatenablog.jp

 

実はリリースにあたってSiri RemoteのMenuボタンの挙動に関して3回のリジェクトがありました。
今回、アップルの審査担当者とのやりとり等の中で分かったMenuボタンの正しい挙動について共有したいと思います。
 
 
Siri Remoteの各ボタンの役割についてはRemote - Remote and Controllers - tvOS - Human Interface Guidelines - Apple Developerに記載があります。
 
以下はMenuボタンに関する部分の抜粋です。
Pauses/resumes gameplay.
Returns to previous screen, exits to main game menu, and/or exits to Apple TV Home screen.
 
つまり、
  •  ゲームプレイの一時停止/再開する
  • 前の画面へ戻る
  • ゲームのメインメニューに戻る
  • Apple TVのホーム画面に戻る
という挙動が必要となります。
(ちなみに非ゲームアプリの場合は「前の画面に戻る」「Apple TVのホーム画面に戻る」の2つです)
 
 
この中で特に重要なのが
  • 前の画面へ戻る
という挙動で、リジェクト時の問題解決センターでも「Menuボタンに前の画面に戻る機能を割り当てなさい」ということを強調して指摘されました。
Menuボタンは基本的には「戻るボタン」であると理解して問題ないと思われます。
 
 
  • ゲームのメインメニューに戻る
  • Apple TVのホーム画面に戻る

は、and/orとなっているためどちらかを省いても良いものと読めますが、現在App Store上にあるアプリではMenuボタンを押して戻っていくと最終的にApple TVのホーム画面に戻れるものがほとんどであることと、非ゲームに関しては「Apple TVのホーム画面に戻る」が必須であるため、「ゲームのメインメニューがない場合はホーム画面に戻る」程度に解釈した方が良さそうです。

 
 
  •  ゲームプレイの一時停止/再開する

ゲームアプリと非ゲームアプリの最大の違いがこの挙動です。

当初、ゲームプレイ中にMenuボタンを押したときには一時停止し、再度押した場合に再開するという簡単な実装をおこなったのですが、それだけだとリジェクトされました。

審査担当の方の指摘は以下になります。

ゲームプレイ中にも「戻る」というオプションをユーザーが持てるようにするべきだ。例えば、ユーザーがMenuボタンを選択してゲームを一時停止すると同時に、「ゲームの再開」と「メインメニューに戻る」という選択肢が表示されると良い。メインメニューに戻ることができると、再度Menuボタンを押すことでユーザーはtvOSのホーム画面に戻ることができる。

つまり、ここでも「前の画面に戻る」「Apple TVのホーム画面に戻る」という戻るボタンとしての挙動が必要になってくるわけですね。
結果として、Flying Colorでは一時停止中の画面に以下のように再開ボタンと戻るボタンを設置しました。

f:id:frnk:20160420121140p:plain



普段iOSアプリ開発をおこなっているとハードウェアボタンの挙動を実装するということが基本的にはないですが、tvOSの場合は非常に重要になってきます。操作感に関わる部分なのでしっかりと実装していきたいですね。


また、当初操作感にばらつきがあったtvOSアプリですが、今回かなり具体的な指摘を伴う審査がされたことで、今後は操作感の統一が図られていくことが予想されます。より使いやすいプラットフォームになることを期待しています。