タグ

ブックマーク / shu223.hatenablog.com (91)

  • API Diffsから見るiOS 14の新機能 - 新フレームワーク編 #WWDC20 #iOS14 - その後のその後

    日からはじまったWWDC 2020、まだ基調講演しか見てないのですが(SOTUも後で見ます)、ドキュメントは公開されたので、明日から始まるセッションでどのあたりをチェックするか当たりをつけるべく、例年通りAPIの差分を見て気になった新APIをピックアップしていきます。 まずは新フレームワークから。今年の新規追加フレームワーク1は21個。 ML Compute ニューラルネットワークの学習とバリデーションを行うためのフレームワーク、とのこと。 Accelerate training and validation of neural networks using the CPU and GPUs. macOS用かな?と思いきやiOSでも利用可。 ML Compute utilizes the high performance BNNS primitives made available by

    API Diffsから見るiOS 14の新機能 - 新フレームワーク編 #WWDC20 #iOS14 - その後のその後
  • API Diffsから見るiOS 13の新機能 - Vision #WWDC19 - その後のその後

    iOSエンジニア諸氏のツイートを見ているとSwiftUIが圧倒的インパクトっぽい今回のWWDCですが、そのへんは識者の方々にお任せして、「その他フレームワーク」で気になった新APIを見ていきたいと思います。 まずはVision。 Visionもかなりアツい。 - VNRecognizeTextRequest(今までの文字領域検出じゃなくて文字認識、いわゆるOCR!) - VNDetectHumanRectanglesRequest - VNAnimalDetector(今のところイヌネコw)#iOS13 #WWDC19— Shuichi Tsutsumi (@shu223) 2019年6月3日 "Analyzing Image Similarity with Feature Print"っていうサンプルによると、画像の類似度の計算もできるようになったっぽい— Shuichi Tsutsum

    API Diffsから見るiOS 13の新機能 - Vision #WWDC19 - その後のその後
    s_ryuuki
    s_ryuuki 2019/06/05
  • デプス(深度)をiOSで扱う方法を網羅したサンプルコード集「iOS-Depth-Sampler」を公開しました - その後のその後

    iOSにおけるデプス(深度)関連APIの実装方法を示すサンプル集「iOS-Depth-Sampler」をオープンソースで公開しました。 github.com ソースコードは GitHub に置いてあるので、ご自由にご活用ください。Swift 4.2です。 今のところ6つのサンプル(後述)が入っています。記事のタイトル「網羅した」は少し大げさですが、撮影済みの写真からデプスを取得する方法から、リアルタイムに取得する方法、ARKitで取得する方法、フロント/リアカメラ、Disparity / Depth / Portrait Matteといったタイプと相互変換、デプスを利用した背景合成や3D空間へのマッピングといったサンプルも備えています。 (2次元の写真をデプスを利用して3D空間へマッピング) 今後iOSにデプス関連の機能が追加されるたびに、サンプルも追加していく予定です。 利用可能なデバ

    デプス(深度)をiOSで扱う方法を網羅したサンプルコード集「iOS-Depth-Sampler」を公開しました - その後のその後
  • [iOS 12]Network FrameworkでUDPソケット通信 - その後のその後

    iOS 12で新規追加されたNetwork Frameworkを使って、UDPによるソケット通信を実装してみました。 以前だとCFSocketというCore FoundationのクラスでC言語ベースで実装する必要があったところが、Networkフレームワークの登場によりSwiftSwiftyに書けるようになります。 受信側の実装 NWListenerというクラスを使って、UDPのListenerを実装します。 // 定数 let networkType = "_networkplayground._udp." let networkDomain = "local" private func startListener(name: String) { let udpParams = NWParameters.udp guard let listener = try! NWListener

    [iOS 12]Network FrameworkでUDPソケット通信 - その後のその後
  • ARKitのサンプルコード集「ARKit-Sampler」を公開しました - その後のその後

    iOS 11のリリースと同時に、ARKitのサンプル集「ARKit-Sampler」をオープンソースで公開しました。 ARKit Sampler ソースコードは GitHub に置いてあるので、ご自由にご活用ください。 https://github.com/shu223/ARKit-Sampler 使用言語はSwift 4.0です。 ARKitのサンプルは公式のを含めいろいろ出てますが、ARKit-Samplerでは「余計な実装を混ぜずに、できるだけシンプルな実装で伝える」というところに気をつけています。もともとは書籍執筆のために用意したものなので、とくに序盤のサンプルはシンプルで意図が汲みやすいと思います。 ビルド方法 ここから Inceptionv3.mlmodel をダウンロードして mlmodels フォルダ配下に置く Xcode 9 でビルドしてiOS 11端末にインストール 基

    ARKitのサンプルコード集「ARKit-Sampler」を公開しました - その後のその後
  • iOS/MetalのシェーダをWebGL/GLSLから移植する - その後のその後

    Metalでグラフィック処理を行うにしろ並列演算を行うにしろ、GPUに処理をさせるためのシェーダを書かないといけないわけですが、これがまだ情報が少なくて、「こういうシェーダを書きたいんだけど、誰かもう書いてないかな・・・」というときに参考になる近いものとかはそうそう都合よく出てこないわけです。 ただ、WebGL/GLSLの情報はググると山ほどあって、GLSL Sandbox という、Web上で編集できてプレビューできてシェアできるサイトもあり、何がどうなってそうなるのか理解できない難しそうなものから、ただの円といったシンプルなものまで、既に偉大な先人たちのサンプルがたくさんアップされています Metalのシェーダというのは正しくは Metal Shading Language といいまして、C++をベースとする独自言語なのですが、まー概ねGLSLと一緒です。 実際にやってみたところ、GLS

    iOS/MetalのシェーダをWebGL/GLSLから移植する - その後のその後
  • Sketch買ったばかりのプログラマがアイコンデザインに挑戦してみたメモ #tryswiftconf - その後のその後

    「try! Swift」2日目のセッション "Live Design:🎙🎨" (日語タイトル:ライブデザイニング)で、Sketchを使ってサクサクとアイコンをつくっていく過程を見て、 Sketch使いやすそう。買おう。 #tryswiftconf— Tsutsumi Shuichi (@shu223) 2016年3月3日 と思い *1、さっそくダウンロードして同じ手順をなぞってみることにしました。 Sketch - Professional Digital Design for Mac ちなみに購入する気満々だったのでこういうタイトルにしたものの、Free Trialで30日間は無料で使えるようです。 @niwatako さんの聞き起こし記事を参考に手順をなぞっていきます。 try! Swift ライブデザイニング:🎙🎨 #tryswiftconf Day2-10 - niwat

  • Classic Bluetooth について iOS アプリ開発者ができること - その後のその後

    Bluetooth Low Energy については Core Bluetooth で色々と制御できますが、Classic Bluetooth(以降クラシックBT)については基的に開発者は制御できません。 *1 そう、確かにアプリ内からクラシックBTデバイスと接続したり、データを送るとか送らないとか制御したり、通信を切断したり、といったことはできないのですが、そんな中でもアプリ側から一切クラシックBTデバイスの存在を感知することができないのかというとそうでもなく、いくつかの「口」はあります。 というわけでそういう「口」を集めてみました。他にもあればぜひ教えてください! ボタン操作イベントの取得 BTイヤフォンの再生・停止等のボタン操作イベントを取得するには、次のように取得開始を宣言し、かつファーストレスポンダになります。 UIApplication.sharedApplication()

    Classic Bluetooth について iOS アプリ開発者ができること - その後のその後
  • Core Imageを用いたリッチな画面遷移アニメーション #cm_ios9 - Over&Out その後

    昨日、クラスメソッドさん主催の勉強会『iOS 9 週連続 Bootcamp!2週目』にて登壇させていただきました。 Core Image Tips & Tricks in iOS 9 from Shuichi Tsutsumi タイトルにある "Tips&Tricks" はWWDCのセッション名でもたびたび使われている用語で、Tricksというのは「コツ」とか「うまいやり方」みたいな意味らしいです。 こういうタイトルにしたのは、(資料冒頭にもある通り、)新しく追加されたフィルタを紹介したところで *1、カメラアプリとかつくってる人でもないとあまり使う機会がないわけで、定員150名という大きい勉強会で話す内容じゃないよなぁ。。と悩み、なるべく多くのアプリ開発において普遍的に役立つような内容を、とアレコレ考えた結果、次のような切り口で話すことにした次第です。 AppleUI で多用する「

    Core Imageを用いたリッチな画面遷移アニメーション #cm_ios9 - Over&Out その後
  • 【正式リリース】watchOS 2 の新機能のサンプルコード集『watchOS-2-Sampler』を公開しました - その後のその後

    昨日、ついに watchOS 2 が正式リリースされました。開発者待望のネイティブ動作するウォッチアプリ対応バージョンです。このアップデートに伴い、WatchKit には多くの機能が追加され、ClockKit や WatchConnectivity 等の新しいフレームワークも登場しました。さらに、iOSでは従来から使えたフレームワーク群(記事末尾にまとめました)もウォッチ側で使えるようになったことから、これらもwatchOSにとっては新APIであるといえます。 新しいAPIはどう実装するのか、実際に何がどこまでできるのか、快適に動作するのか、といった具体的なところを実際にコードを書いて動かして理解すべく、watchOS 2 の新機能のサンプルコード寄せ集めアプリ watchOS-2-Sampler をつくりました。ソースコードは GitHub に置いてあります。 https://githu

    【正式リリース】watchOS 2 の新機能のサンプルコード集『watchOS-2-Sampler』を公開しました - その後のその後
  • iOS 9 の新機能のサンプルコード集『iOS-9-Sampler』を公開しました - その後のその後

    iOS 9 でも大量の新機能が追加されましたが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりピンときません。やはり実際にコードを書いて動かしてみるのが一番わかりやすい・・・ということで今年もつくりました! iOS-9-Sampler 恒例の iOS 9 新機能のサンプルコード寄せ集めアプリです。ソースコードは GitHub に置いてあるので、ご自由にご活用いただけると幸いです。 https://github.com/shu223/iOS-9-Sampler 使い方は Xcode 7 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひお近くのエンジニアにビルドしてもらってください。 Swift のバージョン 2.0 やオープンソース化、ついにネイティブ対応する watchOS 2、と

    iOS 9 の新機能のサンプルコード集『iOS-9-Sampler』を公開しました - その後のその後
  • 【iOS 9】Core Image の新機能:文字認識/追加フィルタ47種 - その後のその後

    先日、Gunosy さん主催の勉強会「WWDC Afterparty Roppongi」にて標題の発表をさせていただきました。 iOS 9 の新機能 Core Image 編 from Shuichi Tsutsumi タイトルの通り、iOS 9 の Core Image の新機能について紹介&デモ *1 しました。 概要 大きく分けて、文字認識、新フィルタの紹介の2つ。 文字認識 WWDC初日に書いた下記記事でもわりと反響の大きかった機能。 【iOS9】API Diffs から見る iOS 9 の新機能 - その後のその後 で、OCR的なものを期待していたわけですが、リファレンスで CIFeatureTypeText を見ると、認識結果の文字列が入ってくるプロパティはないので、文字の「内容」を認識するのではなく、文字の「領域」を検出するものでした、という話。 class CITextFe

    【iOS 9】Core Image の新機能:文字認識/追加フィルタ47種 - その後のその後
  • 【iOS9】Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜 - Over&Out その後

    昨日開催された「WWDC2015報告共有会@ネクスト」にて、iOS 9 で追加された新しい Extension Point のひとつ、「Audio Unit Extensions」についてLTをさせていただきました。 Audio Unit Extensions 〜オーディオエフェクトをアプリ間で共有〜 from Shuichi Tsutsumi 概要 Audio Unit とは? Core Audio においてもっとも低レベル(ハードより)に位置するフレームワーク 低遅延での音声処理が可能 ユニット同士を繋げて複雑なオーディオ処理を実現可能 iOS 8 より AVFoundation に AVAudioEngine が追加され、Audio Unit の利用ハードルがグッと下がった Audio Unit Extensions とは? iOS 9 で追加された Extension Point

    【iOS9】Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜 - Over&Out その後
  • WatchKit もろもろ実機検証 - その後のその後

    Apple Watch をたまたま発売日当日ゲットできたので、いろいろと WatchKit アプリ開発に携わってきた 中で、「実機でやってみないと確信が持てないな。。」と思っていた諸々について検証してみました。 Xcodeからの実機インストール Parent App をインストールして、Apple Watch アプリからインストールするのか、どうなのか・・・? というところがよくわかってなかったのですが、やってみると何のことはない、Xcode から WatchKit App の Scheme を選び、Apple Watchとペアリングした iPhone を選択して Runするだけでした。 ちなみに親アプリを実機インストールするだけでもいけました。(ペアリング済みのWatchにアプリが自動的にインストールされる) あと実機デバッグ時も普通にブレークポイントで止まってくれました。 親アプリから

    WatchKit もろもろ実機検証 - その後のその後
  • UIKit上でパーティクルエフェクトを表示する - その後のその後

    iOS5より、Core Animationでパーティクルシステムがサポートされ、UIKitで実装されたUI上でパーティクル表現を簡単に行えるようになりました。 ここでは CAEmitterLayer と CAEmmiterCell を用いたパーティクルエフェクトの基的な実装方法を説明し、入れ子にして花火のような段階的なエフェクトを実現する方法や、動的にパラメータを変更する方法を紹介します。 基的な実装方法 1. パーティクル画像をプロジェクトに追加する パーティクルシステムは、1つの画像を大量に描画することで多様な表現を行うものなので、その素となる画像が必要になります。ここでは、わかりやすいように次のようなシンプルな円形のpng画像を使います。 (※視認しやすいよう背景を黒にして載せています) プロパティから色を変えられるので、白ベースの画像を用いることが多いですが、あらかじめ着色した

  • iOSと機械学習 - その後のその後

    ビッグデータとかの機械学習隆盛の背景にある文脈や、その拠り所となるコンピュータの処理性能から考えても「モバイルデバイス向けOSと機械学習を紐付けて考えようとする」ことはそもそもあまり筋がよろしくない・・・とは思うのですが、やはり長くiOSだけにコミットしてきた身としては、新たに興味を持っている機械学習という分野と、勝手知ったるiOSという分野の交差点はないのかなと考えずにはいられないわけでして。。 そんなわけで、「iOS と機械学習」について雑多な切り口から調べてみました。 iOSで使える機械学習ライブラリ DeepBeliefSDK コンボリューショナルニューラルネットワークを用いた画像認識ライブラリ。iOSとかのモバイルデバイスで処理できるよう、高度に最適化してある、OpenCVと一緒に使うのも簡単、とのこと。 https://github.com/jetpacapp/DeepBeli

    iOSと機械学習 - その後のその後
  • 機械学習はじめの一歩に役立つ記事のまとめ - その後のその後

    機械学習」というワードになんとなく惹かれつつも、具体的にやりたいことがあるわけでもないので、手を動かすことなくただひたすら「いつかやる」ために解説記事やチュートリアル記事を集める日々を過ごしていたのですが、このままじゃイカン!と Machine Learning Advent Calendar 2014 - Qiita に参加登録してみました。 が、やはり何もしないまま当日を迎えてしまったので、お茶濁しではありますが、せめて「機械学習ってどんな手法やライブラリがあって、どんな応用先があるのか?」というあたりをざっくり把握して最初に何をやるのか方向付けをするためにも、たまりにたまった機械学習系の記事をいったん整理してみようと思います。 機械学習の概要 特定のライブラリや手法の話ではなく、機械学習全般に関する解説。 機械学習チュートリアル@Jubatus Casual Talks 機械学習

    機械学習はじめの一歩に役立つ記事のまとめ - その後のその後
  • ANCSでiOSの電話着信やメール受信の通知を外部デバイスから取得する - その後のその後

    ANCS は「Apple Notification Center Service」の略で、電話着信やメール受信等、iOSで発生するさまざまな種類の通知に、BLEで繋がっている外部デバイスからアクセスするためのサービスです。 iOSアプリに携わるエンジニアとしてはリモート通知(プッシュ通知)の APNS (Apple Push Notification Service) と混同しそうになる略称ですが、もちろん別モノです。 IoTとかウェアラブル的な文脈では大抵のケースでiOSデバイスがセントラルになり、外部デバイスがペリフェラルとなりますが、ANCSはiOSデバイスがサービス提供側となるため、その立場が逆転し、iOSデバイスがペリフェラル、外部デバイスがセントラルとなります。 ※記事はBLEアドベントカレンダー5日目の記事です。 Bluetooth Low Energy Advent Ca

    ANCSでiOSの電話着信やメール受信の通知を外部デバイスから取得する - その後のその後
  • Core Bluetooth トラブルシューティング - その後のその後

    iOSでBLEを利用するアプリを開発していると、「スキャンで見つからない」「つながらない」といった場面はよく出てきますし、相手が新規開発デバイスだとそっちを疑いたくなることもあるわけですが、けっこうiOS側での「あるある」な実装ミスや勘違いというのが多くあります。 そんなよくあるトラブル、その解決のためのチェックポイント等をまとめました。 (題に入る前に・・・) このトラブルシューティング集は、下記書籍の執筆にあたりまとめていたものです。最終的に書籍内では ここに書いてある分量の2倍ぐらい*1のトラブル&対策について書いてあります。 iOS×BLE Core Bluetoothプログラミングposted with amazlet at 15.03.11堤 修一 松村 礼央 ソシム 売り上げランキング: 1,106 Amazon.co.jpで詳細を見る iOS x BLE というニッチな内

    Core Bluetooth トラブルシューティング - その後のその後
  • 【WatchKit】Apple Watch アプリのつくり方 & 全API解説 - その後のその後

    Apple Watch の SDK である『WatchKit』がリリースされてたので、さっそくさわってみました。 以下、サンプル実行方法、AppleWatchアプリの実装方法(所要時間1分、プログラミング不要!)、全クラス解説の順に書いていきます。 ※記事は、Appleによる公開ドキュメント(ログイン不要領域にあるもの)の範囲で書いています。 サンプル実行方法 何はともあれまずはサンプル実行。 iPhone6 シミュレータとかの並びに Apple Watch とかが来るのかなと思ってたので、一瞬サンプルをどう実行してよいのか面らいましたが、シミュレータメニューから [Hardware] > [External Displays] > [Apple Watch - 38mm] または [Apple Watch - 42mm] を選択 で、Apple Watch サイズの外部ディスプレイシ

    【WatchKit】Apple Watch アプリのつくり方 & 全API解説 - その後のその後