WWDC2016セッションメモ「Platforms State of the Union」
WWDC2016セッションを見たメモです。
文中の画像やコードは公開情報から引用しています。
正確で詳しい内容をお求めの方は一次情報の確認をおすすめします。
Platforms State of the Union
Platforms State of the Union - WWDC 2016 - Videos - Apple Developer
iMessage
MSConversation
MSSession
MSMessage
日本も対応。
スタンプを送ってそれに追加イメージして送るなんていう画像コミュニケーションができる。
SiriKit
車、料理など手が離せないことに向いてる。
ただし、出来ることは限られている。

Swift
短く簡単に書けるようになった。
Swift Praygrounds
シェアもできるよ。
Xcode
色のパレットが表示できるようになったよ。 イメージのイメージが表示できるようになったよ。
感想
プラットフォーム全体の状態がよくわかりました。
WWDC2016セッションメモシリーズはこちら
Road to シェアオフィスの話
今日から少し環境が変わりました。
出勤してる。
— ひとのみち (@hitonomichi) 2016年6月1日
経緯は縁
この毎日3時間の通勤時間を何に使うか。
— ひとのみち (@hitonomichi) 2016年6月1日
つまり契約しただけ
フリーランスアプリ開発者が2016年1月〜3月に通った道
関西・大阪在住、フリーランスアプリ開発者の私@hitonomichiの2016年1月〜3月の活動まとめです。
前回の活動まとめから3ヶ月経ったので自分自身での振り返りがてら、
3ヶ月間の総括をします。
フリーランスな自分は成果をアピールしないと世間的に死んでしまいますので。
え?しない?
そう。
ごめん。
お仕事のお問い合わせはこちらから。
ROADTO Webページ
トピック
2016年1月〜3月に通った道
- セキュア認証アプリ
- 研究機関の診断アプリ
- 店舗集客アプリ
- BLE連携アプリ
- try!Swiftに参加
それではいってみましょう(σ・∀・)σ
順不同です。
1. セキュア認証アプリ
常駐対応のAppStoreアプリ案件。
公開鍵・秘密鍵生成、暗号化・復号化でiOS・Web連動して認証する機能の一部を実装。
公開鍵と秘密鍵を生成してKeyChainに保存する、
SHA-256でハッシュ、
RSAの公開鍵(Public Key)で暗号化、秘密鍵(Private Key)で復号、
なんていうセキュリティなことをやってました。
おかげで暗号化周りにちょっと詳しくなりました。
2. 研究機関の診断アプリ
研究機関内専用iPadアプリ。
受託案件。
音声を録音する機能を使います。
特別難しい技術は使わなかったけれど、
iPadアプリはすぐにメモリが逼迫するのでちょっと神経使います。
研究機関の診断アプリは継続してお仕事頂戴してる企業様からの案件です。
リピート頂きいつもありがとうございます!
3. 店舗集客アプリ
AppStore向けアプリの受託案件。
2016年前半リリース予定。
大阪ミナミ地域の店舗集客アプリ。
去年作ったバルイベント「アメホリバル®」アプリに続き、iBeaconを搭載しています。
iBeaconとはBLEを発信する発信機みたいなもので、近くにいるとお知らせしてくれます。
もうじきリリースになる予定です。
アメホリバルアプリについてはこちら。 hitonomichi.hatenablog.com
4. BLE連携アプリ
AppStore向けアプリの受託案件。
目下絶賛開発中。
BLE機器をリアル世界で有用なものに昇華していくプロジェクトをすすめています。
前述のiBeaconもそうですがBLEを扱うことが増えてきて嬉しい!
つながるって素敵!つながるって楽しい!
5. try!Swiftに参加
「try!Swift」というカンファレンスに参加。
SwiftというのはiPhoneアプリを作る時に使うプログラム言語です。
Swift欲を掻き立ててくれて、ケツを叩かれて、自分にとってとても有効なイベントでした。
hitonomichi.hatenablog.com
総括
前回の総括でのプランからどうだったか。
受託案件中心にしたいと言っていたけど?
ほぼほぼ受託に。
案件も途切れることなく頂いていて、新規のお問い合わせも継続して頂いています。
- 新規案件お問い合わせ数 10件
- 新規案件につながったのは 3件
ブログの開発実績とWebを見て頂きご連絡頂くことが多いです。
継続して頑張ります。
iPhone+何かをしたいと言っていたけど?
iBeaconの案件もあり、BLEアイテムを使う案件もありで良い感じ。
リアルとネットをつなげることができて、これが有用なものであればこれ幸いです。
頑張ります。
一人からの脱却と変化と言っていたけど?
徐々に声をかけ始めています。
おかげで少し進展。
苦手なところを手伝ってもらうことからが良い気がしています。
仕事がないと回せないのでそこは努力。
2016年4月〜6月への道しるべ
これからについて。
iPhone+何か
変わらず引き続きで。
iBeaconが成熟してきた感。
種類が増えたし、世の中にiBeaconを使用したモデルケースも増えてきました。
BLEも少しわかってきたし、引き続き勉強しつつ頑張ります。
一人からの脱却と変化
仕事とって誰かと一緒にやるところからかなぁ。
Win-Winでやれる状況にしたいです。
おわりに
完全に受託になって朝早く起きる必要がなくなってしまい、また寒い時期というのもあって、朝型が崩れてます。
暖かくなるので戻していきたいところ。
邪魔がいないし一日を有効に使いたいですね。
それと一緒に外出の機会が激減しています。
外に出るように心がけないと滅入ってしまいますね。
健康第一。
案件状態は周りの皆様からのご縁のおかげで安定しています。
先のお話も頂いていてありがたいことです。
引き続き精進していく所存でございます。
皆様どうぞ今春もよろしくお願いいたします。
お仕事のお問い合わせはこちらからどうぞ。
ROADTO Webページ
過去の道
- 前回の活動まとめ hitonomichi.hatenablog.com
- 過去の実績まとめ hitonomichi.hatenablog.com
Swift2の何回も調べてるちょっとしたこと
Swift2でなんども調べてるちょっとしたことを書きます。
タイマー
let timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(methodName:), userInfo: nil, repeats: true)
遅延実行
//1秒遅延 let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1.0 * Double(NSEC_PER_SEC))) dispatch_after(delayTime, dispatch_get_main_queue(), { // 遅延する処理 })
非同期実行
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { // 非同期処理 dispatch_async(dispatch_get_main_queue()) { // メインスレッド処理 } }
セマフォ
// 同時実行可能数 = 1 let semaphore = dispatch_semaphore_create(1) // ここで待つ dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER) // 処理が終わったことを通知 dispatch_semaphore_signal(semaphore)
非同期を同期的にする。
// 同時実行可能数 = 0 let semaphore = dispatch_semaphore_create(0) // 非同期処理 ※DISPATCH_QUEUE_PRIORITY_BACKGROUNDを使うこと dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)) { // 処理が終わったことを通知 dispatch_semaphore_signal(semaphore) } // ここで待つ while dispatch_semaphore_wait(semaphore, DISPATCH_TIME_NOW) != 0 { // 10秒間外部からのメソッド実行要求を受け付ける NSRunLoop.currentRunLoop().runMode(NSDefaultRunLoopMode, beforeDate: NSDate(timeIntervalSinceNow: 10)) }
画面サイズ
//画面幅 let width = UIScreen.mainScreen().bounds.size.width //画面高さ let height = UIScreen.mainScreen().bounds.size.height
アニメーション
UIView.animateWithDuration(1.0, delay: 3.0, options: .CurveEaseInOut, animations: { () -> Void in // アニメーション処理 }, completion: { (finished: Bool) -> Void in // アニメーション完了後の処理 })
Swiftのカンファレンス「try!Swift」に参加した感想
2016年の3/2〜3/4に開催された「try!Swift」というカンファレンスに参加してきました。
今の思いを残しておきます。
フリーランスな私はもちろん自腹で行ってきました。
行き帰りは夜行バスで。若者満載のね。かわいそう自分。
カンファレンスの概要
SwiftというのはiPhoneアプリを作る時に使うプログラム言語です。
対象レベルとしては内容からいくと上級者向けでしょうかね。
最後にあった発表によると、
参加者536人。そのうち海外からは147人!
インタータショナル!
ちなみにセッションもほとんど英語でした。
チケットは3日間で$300ほど。
会場
会場は渋谷のサイバーエージェント社。
渋谷マークシティにあります。
会場の設備
最高でした。
5つのスクリーン。素晴らしい。
一番後ろからの眺めがこんな感じ。
一人一個のレシーバーで同時通訳。
しかも日本語→英語、英語→日本語のふたつのチャンネルあり。
素晴らしい。
朝食がスタバ。
コーヒーやジュースがスタバ。
美味しくてボリュームのあるランチがあり、
外に出る必要まったく無し。
コンビニ行く必要まったく無し。
素晴らしい。
充電コーナーも用意してもらいました。
セッション
細かい内容についてはこれから復習です。
ちゃんとやりますよ。やりますとも。
セッションについてざっくり良かったところ。
- 勉強するポイントとキーワードが拾えた。
- ライブラリ活動に興味を持てた。
- Swiftらしい書き方が掴めた。
一人でやってると見えない掴みにくい部分が見えました。
セッションがシングルスレッドなのはよかったです。
休憩時間に共通の話ができて知見の共有がしやすいと感じました。
さっきの休憩で、どの部分からSwiftに書き換えていってるかという、実際Swiftやってる人たちの会話が繰り広げられていて素晴らしかった。#tryswiftconf
— ひとのみち (@hitonomichi) 2016年3月2日
セッション以外
今回もたくさん初めましてやいつも見てますをして、出会いがたくさんでした。
エンジニアとしての横のつながりができました。
この道がまたどこかでつながることが楽しみです。
大阪に住んでいると、東京の勉強会にそうそう行けない。
今回ほどの大きなカンファレンスでないとなかなか参加しづらいので、
そういう意味でもありがたかったです。
ツイッターで顔は知ってますと今日も言われました。
— ひとのみち (@hitonomichi) 2016年3月3日
不満点
唯一苦言を呈すなら、自分の勉強不足・知識不足。
善処します。。
それ以外は本当に「無し」です。
当初チケットが高いなんて話がありましたが私は全く感じませんでした。
満足です。
謝辞
本当に至れり尽くせりで過ごしやすかったです。
国外から来られた皆様、スピーカーの皆様、書き起こしの皆様、運営の皆様、お話して頂いた皆様、本当にありがとうございました。
感想
正直、自分には難易度が高かったです。
言語自体が好き、言語が趣味な方には遠く及ばないなとまた痛感しました。
ほんとすごい。尊敬。
それはそれとして、この機を自分にどう活かすか。
私の仕事はモノづくりで、言語は道具。
道具を正しく使いたい、道具が強力になったら良い、という思いから参加しました。
英語が上手に〜、言語をもっと深く〜、と言ってもキリがないので、直接仕事に関わるセッションをピックアップして復習します。
キーワード与えてもらえてそこから知識を広げていけるので、最初から一人でやるよりもずっと有効なはず。
それにしても、あっという間の3日間でした〜。
1日目の早朝に渋谷に着いて、帰りのバスに乗るまで、一切の観光無し。
お土産も買えませんでした。
ほとんど写真撮ってないなー。
またもあったら参加したい。・・・新幹線で。
全セッション終了!
— ひとのみち (@hitonomichi) 2016年3月4日
理解が追いつかない内容のものもあったけど、それも含めて良い機会でした。
Swiftにも感謝!#tryswiftconf
AutoLayoutを使っているUIViewをアニメーションする方法
AutoLayoutを使っているUIViewのアニメーション。
制約を更新してlayoutIfNeededを呼ぶ。
- (void)move { self.constraintViewY.constant = 100; [UIView animateWithDuration:0.5f delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^ { [self.view layoutIfNeeded]; } completion:nil]; }
知らないと知らないよね。
AutoLayoutされたUIViewをアニメーションしたい。今すぐしたい。
— ひとのみち (@hitonomichi) February 4, 2016
フリーランスアプリ開発者が2015年後半に通った道
関西・大阪在住、フリーランスアプリ開発者の私@hitonomichiの半年間の活動まとめです。
前回の活動まとめから半年経ったので自分自身での振り返りがてら、
半年間の総括をします。
フリーランスな自分は表向きな成果をアピールしないと世間的に死んでしまいますので。
え?しない?
そう。
ごめん。
お仕事のお問い合わせはこちらから。
ROADTO
前回の活動まとめはこちら。
hitonomichi.hatenablog.com
トピック
2015年後半に通った道
- AlermWeatherのアップデート
- iBeacon機能搭載イベント用アプリの改善
- イベント用テンプレートアプリの改善
- 研究機関の診断アプリ その1
- 研究機関の診断アプリ その2
- 研究機関の診断アプリ その3
- アメホリバルアプリ
- 既存某アプリの認証機能拡張
- 店舗集客アプリ
- BLE連携アプリ
- ジャンル特化した簡易SNSアプリ
- 飲食店向け注文・決済アプリ
詳細を明かせない案件ばっかりですが、仕方ない。 それではいってみましょう(σ・∀・)σ 順不同です。
1. AlermWeatherのアップデート
ROADTOブランドのAppStoreアプリ。
目覚ましアラームを止めると同時に天気予報を確認できる早楽アプリです。
iOS9への移行にともなうアップデートでした。
ATSの対応と言語設定の「ja」から「ja-JP」への変更。
2. iBeacon機能搭載イベント用アプリの改善
常駐対応のAppStoreアプリ案件。
以前iBeacon機能をつけたイベント用アプリの改善。
3. イベント用テンプレートアプリの改善
常駐対応のAppStoreアプリ案件。
Push通知機能追加とジオフェンシング機能追加。
ジオフェンシングというのは、ある場所から特定の範囲に入った/出たを監視して何かすることです。
家から100mの範囲に入ったら奥様にメール通知する、とかに使える技術です。
位置情報系は楽しいので好きですね。
4. 研究機関の診断アプリ その1
研究機関内専用iPadアプリ。
受託案件。
内容は内緒。
既存アプリの機能改善。
ブラッシュアップは使われているってことなのでモチベーションも上がりますね。
5. 研究機関の診断アプリ その2
研究機関内専用iPadアプリ。
受託案件。
内容は内緒。
音声を扱う案件。音声を録音、再生。
音声波形の可視化なんかもやりました。
変わり種は調査が大変だけどわかってくるとパズルがはまっていく感じで楽しいです。
6. 研究機関の診断アプリ その3
研究機関内専用iPadアプリ。
受託案件。
問題に回答してもらい、採点して、結果はサーバへ送信。
内容は内緒。
点つなぎのような手書き機能が特殊で、点の曖昧判定部分が苦労しました。
実現方法の模索が大変でした。
3つの方法を実際組んでみて、実現できたものを採用しました。
あと一歩というところまでいけたけど要求を満たすまでいかずボツになった案も。。
泣く泣く次の案へ、というのも良い思い出です。。
研究機関の診断アプリシリーズは継続してお仕事頂戴してる企業様からの案件です。
リピート頂きいつもありがとうございます!
7. アメホリバルアプリ
共同開発のAppStoreアプリ。@tinpayさんと一緒につくってます。
毎年秋に開催される、大阪ミナミのアメ村/堀江のイベント、「アメホリバル®」の公式アプリです。
今年はiBeacon機能を搭載!
参加店にiBeaconを置いてもらって、近くのお店を教えてくれる機能を導入しました。
アプリだけでは何も出来ない、イベントの運営側、参加店のご協力あって初めて成立するということが身に沁みました。
8. 既存某アプリの認証機能拡張
常駐対応での既存AppStoreアプリ機能拡張。
UITouch(指紋認証)を利用した認証機能の作成。
内容は内緒ですが、誰もが知っているアレのアレに使う機能。
Javaエンジニアの頃やってた大規模開発みたいに、たくさんの設計書の作成が大変な案件でした。
懐かしい感覚でした。。
9. 店舗集客アプリ
AppStore向けアプリの受託案件。
2016年前半リリース予定。
ある地域の店舗集客アプリ。
アメホリバルアプリで使用した機能をテンプレートとして利用し、
データ構造と連携サーバとデザインだけ変更し作成しました。
アメホリバルアプリの形式はよくある形で、他にも流用できると思います。
リストとマップで一覧表示でき、検索機能、絞り込み機能もあります。
一覧から選択して詳細画面で詳しい情報を見ます。
データと画像はサーバにあります。
はじめからアプリを作成するより安価で開発できますし、デザインのカスタマイズも可能ですので、ご入用の際はご連絡ください。
実績とまでいかないけれど取り組んだ案件
ここからはまだ開発中だったり動いてるけど構想途中だったりするもの。
10. BLE連携アプリ
AppStore向けアプリの受託案件で開発中。リリースなどは未定。
内容は内緒です。
BLE機器をリアル世界で有用なものに昇華していくプロジェクトをすすめています。
11. ジャンル特化した簡易SNSアプリ
プロトタイプまでの作成段階なので世には出ていませんがAppStoreアプリの受託案件。
内容は内緒。
位置情報とあるキモになる技術を利用した簡易SNSのお話。
ジャンルに特化して既存のあのサイトを倒そう!と始まったプロジェクト。
振り返ってみると考え方のターニングポイントになった案件です。
12. 飲食店向け注文・決済アプリ
ROADTOのサービスとして企画しているアプリ。
飲食店向け決済アプリのプラットフォームの一つにならないか模索中。
あるWeb側エンジニアに賛同してもらって共同で企画しています。
仕様決めと設計まではやったのであとはこの世に産むだけ。簡単。ごめんなさい。見栄をはりました。本当は産むのが大変。
総括
前回の総括でのプランからどうだったか。
受託案件中心にしたいと言っていたけど?
少しずつ移行できてる。
案件も途切れることなく頂いていて、新規のお問い合わせも増えています。
- 新規お問い合わせ数 9件
- 新規にお会いした数 8件
- 新規案件につながったのは 2件
Webを見て頂きご連絡頂くことが多いです。
継続して頑張ります。
iPhone+何かをしたいと言っていたけど?
iBeaconの案件は数件。
BLEをちょこっとやって、IoTもちょこっとかじってという感じで僅かだけど前進。まだこれから。
AppStoreとかかわりたいと言っていたけど?
AlarmWeatherをちょこっとバージョンアップしただけ。
販売経路として捨てるわけにいかないので常に頭にあるんだけど努力不足でした、が、優先度低いから問題なし。
一人からの脱却と変化と言っていたけど?
完全に一人です。脱却なんて程遠いですね。
2016年前半への道しるべ
これからについて。
受託案件中心にしたい、というのは変わらず。
常駐は素晴らしいエンジニアと仕事できることがよくあるので、
良い刺激があって良いのですが、できれば受託の割合を増やしたいです。
表向きに出せる成果(ここ大事)になりやすいのが受託だからです。
iPhone+何か
これも変わらず引き続きで。
iBeaconは増えたし、BLEも取組中だし、この調子でリアルとネットを繋ぎにいきたいです。
一人からの脱却と変化
新しいサービスもそうだし、アプリ作成もそうだし、法人化する必要が出てきそう。
会社作って体制組むことを少し考えてます。
おわりに
アプリ作成だけの仕事の仕方から変化の時期に来てるのかなーという感覚。
新規のお話をもらったり、アプリ外の話をもらったりして、人を繋ぐ仕事もありだなーとか。
開発規模が大きい話や、抱えきれない数の案件数だったりしてお断りすることもあり、人雇うのもありだなーとか。
私はiOS専門でやってるんですが、WebやAndroidはできないの?ってかなりの確率で聞かれることもあり、協業できる人欲しいなーとか。
バランスの問題なので、浮力を失わないよう仕事しながら、先鋭的なところも取り入れてやっていきたいと思います。
早寝早起きは崩さずに。健康第一。
仕事始め(σ・∀・)σ
— ひとのみち (@hitonomichi) 2016年1月1日
5:33にWakeUp!
1/2(土) Osaka-shiの天気
晴れ
これからの最高16.3 ℃/最低3.4 ℃#AlarmWeather https://t.co/kKZxc60yjh
お仕事のお問い合わせはこちらから。
ROADTO
皆様どうぞ今年もよろしくお願いいたします。