関西モバイルアプリ研究会 #16 にいってきました – 「UIStackViewを使ってみた」

恒例の勉強会。今回は京都駅近くのフリューさんにて。

関西モバイルアプリ研究会 #16 – connpass

道中ポケモンしてる人めっちゃ多かった。普段の生活圏内ではあまり遭遇しないので新鮮でした。

20160728_IMG_8936 のコピー

若干のネタかぶり感もありましたけれども、トップバッターだったので先行逃げ切った感じで無事になんとか(順番逆だったらかなりやばかった)

(途中のデモがPDFだとなにやってるかわからないですけれどもそこはご愛嬌)

あ、それで今回の発表で一番大事なことは「iOS10でたらiOS8のサポートは終了しよう!」ってことです。これ大事。

XcodeとSwiftの進化は(いろんな意味で)目が離せないとか、Firebaseいい加減に使ってみないととか、懐かしのアスペクト指向とか。

あとはやっぱりポケモンネタもちらほらと。って、みなさんプレイ率高めな印象でした。

次も京都開催っぽいです。すでになんとなくネタの候補はある感じもするけれど。

みなさんおつかれさまでした。幹事の方ありがとうございました。

関西モバイルアプリ研究会 #15 にいってきました – 「watchOS 3を使ってみた」

恒例の勉強会。オフィスから徒歩10分くらいのはてなさんにて。

関西モバイルアプリ研究会 #15 – connpass

前回は発表できませんでしたが、今回は無事に当選。

20160622_IMG_8657 のコピー

いつもはiPad Proでプレゼンしているんですが、Lightning-VGAのケーブル持ってくるのを忘れて、オフィスからMacBook Pro15をもっていきました。これは以後気をつけよう。

さて、WWDCでいろいろ発表されたあとってことで、気になったところをちょっと。

といっても watchOS はもともとあまり開発している人もいないようなので、テーマとしてどうだったのかはありますけれども気にしない。

今回の一番の新発見は「LJK」だった気もしますが、ちゃんとそれ以外もたくさんメモってます。

FireBase気になるところ。そしてRealm Xamarinもね。

あと、懇親会ではこれ。

同じ分野のアプリ作ってる(いわば競合な)のにそれで談笑できているのがほんとすごいなって思います。うちは零細ですけれどもこれからもよろしくお願いします。

みなさんおつかれさまでした。幹事の方ありがとうございました。

関西モバイルアプリ研究会 #14 にいってきました

久しぶりのはてなさん開催。

関西モバイルアプリ研究会 #14 – connpass

はてなさんということでオフィスから直接行きました。徒歩15分くらい。近いものです。

そして、自分的には関モバに参加して初めて発表してません。というか発表枠からもれたんですけれども、それはそれとして抽選だから仕方ないです。

まあ、いつもは、申し込む段階で発表内容について決まってるもんですが、今回は「なにしようかな?」って割とほんとに悩んでいたこともあったので、そのせいかもしれないですね。運ってそういうもの。

20160525_IMG_8599 のコピー

準備不要なので、それはそれでなんか当日までの心構え的に調子狂うというかなんというか。

それでも普通に楽しめました。今回から質疑応答の時間がしっかり確保されたっていうのもありますけれど、その時間もかなり有意義だったんじゃないかと。

先日のGoogle I/Oで発表されたConstraintやFireBaseの話題があったり、Swift3の話とか、まさかのActiveDirectoryからのReactNative2連発。今回は話題がかなり多岐にわたっていたような気がします。

発表しないとしても、なにかキーワート的な発見があるのであなどれません勉強会。

そんなこんなでみなさんおつかれさまでした。幹事の方ありがとうございました。

そうはいっても次は、なにか話せるといいですな。

関西モバイルアプリ研究会 #13 にいってきました – 「Parse Serverを使ってみた」

毎月恒例の勉強会。今回はなんと大阪のYahoo!さんのオフィスで開催されました。初Yahoo!

関西モバイルアプリ研究会 #13 – connpass

27階とか行くの久しぶり。大阪の夜景はきれいでした。Yahoo!さんありがとうございました。

20160427_IMG_8481 のコピー

さて、いまのところ当選確率100%でして、今回はその他枠で自分的にホットな話題を。

といいつつも結局のところ、発表でもいいましたけれど、ここを見るのがいい感じです。 @nagisawks さんありがとうございます〜

parse serverに移行してAPNS,GCM通知 – Qiita

他の参考リンクとしては、nginxの絡みはこちらのStep4。

How To Migrate a Parse App to Parse Server on Ubuntu 14.04 | DigitalOcean

ATS(SSL)まわりはこちらを参考にしました。

ios – How to setup forward secrecy in nginx so that iOS9 (Xcode7) app with default ATS settings can connect to my server? – Stack Overflow

みなさんの発表もいろいろと興味深かったです。snapkit要チェック。

有志で二次会も開催されましてhey siriで盛り上がったりしておりました。問題をぶん殴れる道具大事。

次回は京都開催っぽいですね。当選100%はどこまで続くのか・・・

みなさんおつかれさまでした。幹事の方ありがとうございました。

関西モバイルアプリ研究会 #12 にいってきました – 「Live PhotoをアニメーションGIFに書き出す」

「おとーさんがんばってねー!!」と元気な声で見送られながら行ってきました関モバ。

関西モバイルアプリ研究会 #12 – connpass

今回は久しぶりに京都駅近くのフリューさんのところでした。いつながらにスポンサーの企業さん本当にありがとうございます。

20160331_IMG_8423 のコピー

で、毎度ながらの厳正抽選をくぐり抜けて、最新の話というわけではないけれど、いろんな小ネタが詰まった感じの話をざーっとしてきました。

発表ではOptionSetTypeのPredicateがうまくいかないという話をしていましたけれど、その後の指摘によりちゃんとできることが判明。サンプルコードもそれに合わせて修正しています(スライドは内容としてはほとんど影響しないので発表時のままです)

itok/LivePhotoToAnimatedGif

@ikesyo さんありがとうございます。

そういえば、発表枠で申し込んで抽選落ちたことないですね、すごい。そろそろやばいかも。

さて、他の話題としてはEULA大事とか、AppleMusicなにかできるかもとか、state restoration大変よねえ、とか。

そのあとの2次会ではこあでーたの話で盛り上がって・・・ってあれ?これ前回フリューさんで開催された時と同じ流れじゃ?と思ったけれど、記録によればやっぱりそうだった。

懇親会後に珍しく2次会が開催されてそこではこあでーたの話で盛り上がっていました。

関西モバイルアプリ研究会 #7 にいってきました

次はまた大阪開催だそうです。超有名企業の会場で行われるとか。次はなに話そうかなあ〜

というわけで、みなさんおつかれさまでした。幹事の方々ありがとうございました。

try! Swift 2016に参加してきました

東京で開催されたSwift(あ、プログラム言語です)のイベント。try! Swift 2016にいってきました。

20160305_IMG_8354 のコピー

try! Swift

参加者500人超。海外からも100人以上が参加して3日間33のセッションを堪能してきました。雰囲気的には小振りな和製WWDCってところでしょうか。

Swiftに特化した話もあれば、一般的なプログラムに関する話もあったり、tvOSの話もあったり。スピーカーの人に直接お話できるQ&Aのコーナーもあったんですけれども、セッション全部聞いていたら結局行く暇なかった。聞きたいことがまとまらなかったという話もあるけれど。

朝はコーヒーと軽食がでて、昼はおいしいお弁当。そして最終日には全体でのパーティも。

そうそう、同時通訳がすごかった。技術系に強いっていう話だったけれども、ほんとにあんな技術話を日英双方向に通訳できるのね、と。

通訳|翻訳|英語翻訳|ケイワイトレード:トップ

ネット上でしか知らない人にもたくさん会えたしこれにはほんとに大満足。

ポケモンたくさん出てきたのは結局なにが真相だったんだろう。ドラゴンボールもあったしAKIRAが一番自分にしっくりきたけれど。

海外のiOS開発者の中でポケモン(Pokemon)が共通知識になっている件とその理由 #tryswiftconf #Pokemon – Togetterまとめ

余談ですが、今回も全編iPad Proでメモ取ったりしてました。おかげでバッテリーの心配はいっさいなく。仕事の作業もあったりしたのでMacBookも持ち歩いてはいたんだけれど・・・

 

以下、つれづれなるままに。

 

Swiftは言語じゃない。コミュニティーだ

という話はなんかわかる気がします。だからこそのこのカンファレンスなんでしょう。

それはそれとして、僕にとっては言語はツールだなあ、と。

人を技術で幸せにするためにアプリを作っているわけで、日々の生活における問題をアプリで解決することが至上命題。だから大事なのは目の前の解決したい問題とどうやってたたかうかっていう話。戦術の選択肢は多いほうがいいし、もちろん武器は強いほうがいい。圧倒的な力の差でもって問題に勝利したいわけですから、そのために最適なツールを選びたい。今はiOS好きだし、Mac好きだし、Swiftももちろん好き。でもそれがすべてじゃないから、どんなプラットフォームでもどんな言語でもたたかえる力が欲しい。そんなことを再認識した3日間でした。

とりあえず、関数型の話はもうちょっとついていけるようにしたいところです。もうほんとになにをいっているのやら・・・(あ、英語をなんとかしたいっていうのはまた全く別の話

 

なんにしても、主催者の方々本当にありがとうございました。関係者のみなさまおつかれさまでした。

そして、またごりごりとコードを書く日々に突入しましょう。

そうそう、これまじで神。niwatakoさんありがとう〜

try! Swift 全日程聞き起こしまとめ | #tryswiftconf 3日間を終えての感想、家に帰ってからが try! Swift です! – niwatakoのはてなブログ

関西モバイルアプリ研究会 #11 にいってきました – 「iOS9時代のSize Class」

関モバ初の大阪開催。なので久しぶりにグランフロントに行ってきました。

関西モバイルアプリ研究会 #11 – connpass

現地についてぶらぶらしていたら写真を撮るまもなくあっという間にはじまりそうだったのであわてて。

20160224_IMG_8320 のコピー

今回はがっつりiOSの話を。外部のフレームワークとかにからまない純粋なiOSの話をするのは初めてなんじゃなかろうか。(と思ったら3D Touchの話とかしているし案外そうでもなかった)

会場広いこともあって、人もいっぱいいましたが、演壇的な場所と聞いている人がいつもより遠い感じでした。まあ規模が大きくなると必然的にってところですが。

あとは最近ちょうど気になっていたAsciiDocの続編の話があったりして、詳しい話を懇親会で、、、って思って忘れてました。これは失敗。

それでも懇親会では、某大手天気アプリの中の人と話ができたり(てか、関西圏に天気アプリ関係者多い気がする)、「いとーけーさん、最近ブログの更新少ないですよ」とオフ会的なツッコミを入れられたり(改めて確認すると、今月これで2記事目なので確かに少ない)、そんな楽しい会でした。(あ、ビールこぼしてすいませんでした。ほんとにこれが一番の大失敗)

時間の都合もあって、いつもより発表者少なめでしたが、新しい人の新しい話が聞けて新鮮でした。って、自分は運良く抽選を勝ち取ってしゃべったわけですけれども。

みなさんおつかれさまでした。幹事の方々ありがとうございました。

関西モバイルアプリ研究会 #10 にいってきました

今年1回目の関モバ。去年末の1回を飛ばして久しぶりの参加。

関西モバイルアプリ研究会 #10 – connpass

20160127_IMG_8262

なんか、若干同窓会的雰囲気をかもし出していました。

さて、今回は初の「その他枠」で発表(iOSとか、Android以外っていう枠です)

なんとWindowsの話。たまにはこういうのもいいんじゃないかと。ストア事情もちょこっと話したり。(ちなみに、上の写真はわざとタイトル隠してます。事前にネタバレしないようにとかいう気の小さい配慮のため)

あとは個人的に気になったキーワードとしては、okHttp、Keynote、AsciiDoc、RxSwift、SwiftLintなどなど。

LTとして、最近は開発手法的な話が多くなってきた印象。あたらしいOSでてからそこそこ時間たったからかなあ。

それはそれとして次回は大阪開催だそうです。グランフロント!帰りの時間を気にしないといけないから気をつけよう。

今度はiOSの話をしようかな。

みなさんおつかれさまでした。幹事の方々ありがとうございました。

2015年度第8回iPhoneプログラミング勉強会京都 に行ってきました

前から京都で開催されているのは知っていたものの、参加するのは初めてでした。

2015年度第8回iPhoneプログラミング勉強会京都 – iPhoneプログラミング勉強会京都 | Doorkeeper

お目当はAppleを退社されて京都に引っ越してこられた木田さんのお話。ですが、それ以外も面白かったです。

最近のLT形式の勉強会のとは違って、じっくり質疑応答をする感じ。これはこれでいろんな知見が得られますね

自分メモとしては、Visual Language面白そうとか、漢字Talk7.1のころからお世話になってますとか、ユーザテストなるほどとか、そういう感じで。

懇親会もあり、そら案内の話をしたり、3年ぶりの再会(というかなんというか、世間は狭いという話)があったりで、その日の夜行バスで東京にいかねばならなかったので途中退席したのは残念ですが、濃い時間を過ごしました。

京都の開発者の横のつながりをという意図もあるそうですし、また次も参加してみたいものです。関係者のみなさんお疲れ様でした。

新しいそら案内が公開されました

Icon-60@3x

すでに各所で告知されておりますように、先日新しいそら案内をようやく公開できました。

iOS9 / watchOS2 に対応したそら案内(iOS版) v5.0.0 公開のお知らせ | 株式会社そらかぜ
そら案内(iOS版)v5.0.0を新規アプリとして公開しました | 株式会社そらかぜ

‎そら案内
‎そら案内
開発者: sorakaze Inc.
金額: 無料+

ありがたいことに、このブログを書いている時点(1/16昼過ぎ)でもiPhone/iPadともに天気カテゴリ1位をキープしておりまして、ほんと感謝感謝です。

20160114_1

また、なぜか一時的にストアの検索トレンドに載ったようでこちらもびっくり。

20160116_IMG_8211 のコピー

さて、アプリそのものについては上記ページたちを見ていただくとして、開発者としていろいろ書いておこうかなと思います。

ざっくりとみなさんの反応を見たかぎりで、気になるものとしては「また別アプリだ」「あ、でも課金情報は移行できるのか!」というものが挙げられるかと。ので、そのへんちょっと詳しく。

アプリを移譲する→できない

そもそもの話として、独立して会社設立、そら案内シリーズは譲渡される、という大前提があったとします。

で、ここで問題になってくるのがストアにおけるアプリの移譲です。

ずーっと前はできなかったんですが、任意のアプリをある開発者から別の開発者へと権利を移譲することができます。

つまり、基本的には開発元が変わったからといって新しいアプリを出し直す必要はありません。

ただしここには例外があります。一部の機能を有するアプリは権利を移譲することができません。

詳しくは先日関モバで話していたのでこちらを参考にどうぞ。

関西モバイルアプリ研究会 #7 にいってきました

今回、もろにその例外事項にぶつかってしまい、そら案内をシンプルに移譲することができなかったのです。具体的にはiCloudの機能をほんの一部で使っていたのがダメでした。

当初、私も移譲自体は簡単にできるものとして、v5を純粋なメジャーバージョンアップ(別アプリにはしない)という位置づけにして開発をしていた(それこそ、旧バージョンのCoreDataから新バージョンのRealmヘのDB移行の実装をしたりしてました)のですが、その事実が発覚した時点で大きく方針を変更せざるを得なくなってしまいました。もちろん調査不足ではあったのですけれども、いずれにしても新規にアプリをつくって公開する以外に方法はなかったのです。

新規にアプリをつくる、ということはそら案内の歴史の中では何度か行ってきました。こちらとしてはいろいろと理由があったわけですけれども、必ずしも好印象として受け入れられていないこともあるのが実際のところです。それは十分に把握していましたので、できることなら新規にアプリをつくることはしたくありませんでした。とはいえ、そういうわけにもいかないので、せめて課金していただいたユーザさんに迷惑をかけることは無いようにしよう、というのが新しい方針となりました。

課金情報を移行する

そこで、課金情報の移行、という仕組みを作ったのです。

技術的な話としてはそんなに難しいものでもなく、アプリA(新そら案内)とアプリB(旧そら案内)の間ではざっくりこういう動きをしていました。

  1. アプリAからアプリBを起動する(一時的なトークンを引数に)
  2. アプリBで課金情報を確認し、課金済みならその情報と先のトークンとを一緒に引数としてアプリAを起動し直す
  3. アプリAにて課金済み情報とトークンを照合し、問題なければ移行用の課金アイテム購入手続きを開始する

ただ、この仕組みのおかげで審査通過までに1月以上かかってしまいました。

審査通過までの道のり

審査中は何度かリジェクトされており、テキストベースでその度にやり取りをしていたのですが、どうも議論は平行線のまま。

結局アメリカから電話がかかってきました。

詳しいことは書いていいのかわかりませんのでものすごくざっくりいうと、

あるアプリから別のアプリ内の課金アイテムを直接購入するような仕組みはダメ

これは結局レビューチームの勘違いだったのですが、おそらくアプリCからアプリDを起動してそのままアプリDの課金アイテムを購入させる、という動きはダメということのようです。

別のアプリ経由で課金アイテムを購入させるような仕組みはダメ

つまりアプリCからアプリDを経由してアプリCに戻ってきてアプリCの課金アイテムを購入する、という仕組みはダメということになります。つまり今回の仕組みはこれによればアウト。

ただし、アプリDでユーザ登録などして、そのユーザ情報を使ってアプリCから認証してCの課金アイテムを購入するのはOKです。もちろんこの場合はサーバが必要になりますが。

こちらのやむを得ない事情(もともとアプリを移譲したかっただけなのに、ストアのシステムの都合で移譲できなかったのでユーザのことを考えてこの仕組みを作った)を説明してみたものの状況は変わりませんでした。

そして途方に暮れました・・・

Macの前でうなだれていた45分間、、、(仕方ないので再課金してもらうようにする、一時的に拡張パックの無料セールをする、ユーザ登録する仕組みを新設する、などなど頭の中を駆け巡っていました)

そこに、まさかの電話です。

詳しいことはわかりませんが、おそらくこちらの事情をわかっていただいた上で特別措置が取られたのではないかと思います。電話担当の方、本当にありがとうございました。

実際はこの後で通常審査に戻り、翌日にようやく審査通過となりました。最初に申請したのが11/30で通過したのが1/9ですね。主力製品なだけに長く感じた審査期間でした。

というわけで、この仕組みはあまりオススメしないです。普通にはユーザ登録してもらう、とかのほうが審査的にはシンプルに通過するものと思われます。

あ、あと、大事なこととして、同じ見た目で同種のアプリが2つストア上に存在し続けるのはよくないと釘を刺されています(これは開発元が別々だから、という理由もあるかもしれませんが)。もちろんそのつもりではありましたけれども「そら案内 4」は将来的にストアからなくなる予定です(なくなっても復元可能なのでダウンロード済みのユーザさんにはさほど影響はないと思いますが)。これについてはまた会社のほうで正式に時期を告知したいと思います。

さいごに

なんにしても新しいそら案内が無事に公開されてほっとしています。

今はまだ不安定なところもあるようで、その点については本当に申し訳ありませんが、順次不具合を修正していきますのでお待ちいただければと。

また、ベータテストのユーザさんをはじめ、メタ・グラマー様、ファンタグラフィカ様、および協力していただいたみなさま、ありがとうございました。

というわけで、そら案内を今後ともよろしくお願いします。

‎そら案内
‎そら案内
開発者: sorakaze Inc.
金額: 無料+

 

さて「そら案内が公開されたら作ろう」と思ってAmazonのセールで自分ご褒美に買っていたミレニアムファルコンを作りはじめますかね・・・

20160116_IMG_8213 のコピー