WWDC2016セッションメモ「AVCapturePhotoOutput—Beyond the Basics」
WWDC2016セッションを見たメモです。
文中の画像やコードは公開情報から引用しています。
正確で詳しい内容をお求めの方は一次情報の確認をおすすめします。
AVCapturePhotoOutput—Beyond the Basics
AVCapturePhotoOutput - Beyond the Basics - WWDC 2016 - Videos - Apple Developer
アクセスの確認が変わった
iOS10からカメラ、音声、写真アクセスの許可時に理由の記載が必須になる。

設定はplistに追加する。
方法はこちら。
plistに直接書くならこう。
<plist version="1.0"> <dict> <key>NSCameraUsageDescription</key> <string>to take photos and video</string> <key>NSMicrophoneUsageDescription</key> <string>to record Live Photos and movies</string> <key>NSPhotoLibraryUsageDescription</key> <string>to save photos and videos</string> </dict> </plist>
感想
カメラはともかく写真使うの結構あるから対応しないと。
WWDC2016セッションメモシリーズはこちら
WWDC2016セッションメモ「What's New in Swift」
WWDC2016セッションを見たメモです。
文中の画像やコードは公開情報から引用しています。
正確で詳しい内容をお求めの方は一次情報の確認をおすすめします。
What's New in Swift
What's New in Swift - WWDC 2016 - Videos - Apple Developer
名前が変わった。
NSが付かなくなりますよ。
APIが変わった。
Swift2.2
↓↓↓
Swift3
パラメータのラベリングが変わった
Swift2.2
↓↓↓
Swift3
ひとつ目のパラメータにラベルが付いてわかりやすくなったね。
なくなるのもあるよ
インクリメントの++がなくなる。
昔からのfor文の書き方ができなくなる。
など。
マイグレーション
Swift2.2→3へ変換してくれる。
感想
張り切って変換するぞー。。
WWDC2016セッションメモシリーズはこちら
WWDC2016 カテゴリーの記事一覧 - ROADTO みちログ
What's New in Swiftから。今日は何本見れるかな。
— ひとのみち (@hitonomichi) 2016年6月15日
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