kanizaのブログ

コンピュータ、ソフトウェア、映画、音楽関連や家族のことなど、思いついたことを書きます。

第 70 回 Cocoa 勉強会関西に行ってきた

Cocoa Advent Calendar 4 日目の記事です。

昨日(12/3)、久しぶりに Cocoa 勉強会関西に参加してきた。

2004 年に始まった Cocoa 勉強会関西。基本的に2ヶ月に1度のペースで10年以上にわたって継続していて、今回でついに第 70 回。すごいですなー。

cocoa-kansai.connpass.com


会場はグランフロント大阪のタワーCにあるビズラボ。たくさんの大型ディスプレイを組み合わせた巨大なスクリーンが特徴で、KOF(関西オープンフォーラム)の実行委員会ミーティングでもよく使わせてもらっているお馴染みの部屋。

僕も発表することになっていたから、新しくゲットした MacBook Pro と USB type-C から HDMI のアダプタ持参していった。

f:id:kaniza:20161204174824j:plain:w400


参加者は 20 名ほど。11 月に開催された KOF2016 での展示を見て、初めて参加した人たちもいたとのこと。ああいったイベントをきっかけに新しい人がやってくるというのも素晴らしい。

今回の発表者は、@studioshin さん、@niwatako さん、@t_motooka さん、そして僕(@kaniza)の4名。

最初の発表は代表の studioshin さんから。

iOS 10 でもいろいろ新しくなったプッシュ通知の使い方について、かなり詳しい解説がありました。プッシュ通知は前にけっこうやったから、基本的な枠組みは知っている。デバイストークン、通知をトリガーするサーバ、APNS サーバ、そして実際に届いたペイロードが画面に表示される仕組みあたりね。当初はペイロードの容量制限がずいぶん厳しかったけど、いまは改善されてるんだよね。

次の niwatako さんからは、いくつかのテーマについての話があった。

まずは ATS(「アプリの通信 s つけて」もしくは、App Transport Security の略)について。要は、iOS 10 以降、アプリでは http での通信は OS がブロックするんで、https にしましょうということ。どうしても http で通信しないといけない場合は、Info.plist にフラグ設定して、審査時に理由の説明が必要になる。

インターネットの牧歌的な時代は既に終わって、誰が通信を覗き見して、どんなことに使われるか予測もつかない世の中になっているということですな。

それでもアプリの全通信を http から https にするのはそんなに簡単なことではなくて、開発者はそれぞれ苦労している模様。

発表後、「どういう理由なら http で OK なのか」について議論があって「http のほうが明らかにユーザーにメリットを提供できる場合はよいのではないか」「API 呼び出しが s なしはダメだろうね」などの意見があった。

さらに niwatako さんからは、国立国会図書館の資料を使ったスマホユーザーの動向調査についてや、App Extension のアピアランスがホストアプリの影響を受けたり受けなかったりというお話も。アピアランス問題はアレですな。影響受ける人にとっては切実ですな。

t_motooka さんからは Code Signing についての解説。

Apple のプラットフォームで利用されている証明書の種類や、実際の署名を検証するコマンドなどの紹介。コード署名まわりは多くの開発者が一度はぶつかる壁。ちゃんと仕組みを知っておくと、スムーズに対応できるよね、というお話。証明書署名要求重要。

そしていよいよ僕の番。

休憩のあいだに MacBook Pro からアダプタをつないで HDMI で接続。とりあえず画面は出た、と思ったら消えた。そしてまた出て消えてを繰り返す状態になってしまった。Mac の画面と信号なしのブルースクリーンが 0.5 秒おきに点滅する。いくらつなぎ直しても、ディスプレイ設定を変えてもうまくいかない。

アダプタでの HDMI 接続はオフィスでも自宅でも問題なかったんだけどね。

studioshin さんから、スライド資料を送ればマシンを貸してくれるという提案をもらったんだけど、今回の発表は実際の設定ファイルをあれこれ編集したり、AWS にログインしたりというデモ中心で、スライドだけでは済まないのでマズい。

「これは詰んだかも」と思った。せっかく準備したのに(ちょっとだけど)。

「それでもなんとか」と考えた方法は、studioshin さんのマシンから僕のマシンに画面共有でつないで、HDMI は studioshin さんのマシンでつなぐという形。やってみようとしたらお互いのマシンがネットワーク的に見えなかったのでそこを解決しようと試みていると、niwatako さんから「AirPlay でやってみませんか?」というお話が。

最初どういうことかわからなかったんだけど、どうやら niwatako さんのマシンを AirPlay サーバにして、そこに僕の Mac の画面を飛ばそうということらしい。AirPlay サーバになるなんて技があるのか!

niwatako さんが持っていた Wi-Fi ルーターに接続させてもらったら、AirPlay の接続先に niwatako さんのマシンが見えた。

画面共有の場合は、画面は僕のが見えつつも直接操作するのは studioshin さんのマシンになるわけだけど、AirPlay の場合なら僕自身のマシンを使えるし、やりやすさアップ!!すばらしい!!

結果、

僕のマシン -(AirPlay)-> niwatako さんマシン -(HDMI)-> スクリーン

という形で無事に発表できた。niwatako さんが持ってたのは、AirServer というソフトウェアだそうだ。知らんかった。「無事」と言っても、実際には発表中 niwatako さんマシンを占有してしまったという問題はあった。とにもかくにも、niwatako さんありがとうございました。

ちなみに発表内容は、macOS アプリを自動アップデートさせるためのオープンソースフレームワーク Sparkle の使い方に関するデモ。

この Sparkle については、また機会を改めて書こうと思う。

勉強会後は 10 名ほどで懇親会に。「今日はほとんど署名関係の話だった」とか、Excel 方眼紙問題とか、新大阪周辺のランチ事情とか、いろいろな話題で盛り上がった。Cocoa で飲むビールはうまい。

この第 70 回で 2016 年の開催を締めくくった Cocoa 勉強会関西、次回は 2017 年 2 月 11 日に同じくグランフロント大阪で開催予定。

Cocoa と名前がついてるけど、発表内容は Windows な話でも Android な話でも OK とのこと。関西近辺で Cocoa を中心に、語ったり飲んだりしたい人はぜひどうぞ。勉強会の Facebook ページはこちら

qiita.com