こんにちは。
virapture株式会社 でCEOしながら
ラグナロク株式会社 でもCKOとして働いている
もぐめっと です。
最近エンターテイメントに優れるお店で記念日を祝ってきました。高い店行くより満足度高くてコスパ良かったのでとてもおすすめです。
本日は毎年やっているWWDC21セッション要約会に参加してきたので各発表者の発表をまとめました。
今年もやります! 『WWDC22セッション要約会』 今回もオンライン(Google Meet / YouTube Live)で開催します。 日本全国のiOSエンジニアのみなさまの幅広い参加をお待ちしています。 去年のWWDC21セッション要約会の様子はこちらをご覧ください。 https://www.youtube.com/watch?v=OVXr4Rb7zsU 一昨年のWWDC20セッション要約会の様子はこちらをご覧ください。 https://www.youtube.com/watch?v=9PNw8t5CIFI ## ■イベント概要 今回はスピンオフでWWDC22の...集まれSwift好き!Swift愛好会スピンオフ WWDC22セッション要約会 @オンライン (20... - connpass
動画で見たい方はこちらをご参照ください
忙しい人のためのWWDC22 Keynote @66nylon_y 様
iOS16 ロック画面を表示して保存できる。 下の方にまとまった Live Activities Focus進化 Focusがアプリにも適用されるようになった Messagesはメッセージの編集取り消しが追加 Shaplayはチャットしながらできる 音声入力はシームレスで表示できるようになった SiriにはAppIntents追加 LiveTextは動画にも追加。翻訳もできる Visual Lookupも追加して動画の切り抜きができる Walletは身分証明書を確認できるようになった Tap to Pay onが実装されてiPhone同士でお金私ができる MapKitは大きく改良。 Sportsはspotlightで選手のことを聞ける iCloud 共有フォトライブラリも追加 設定に政府ティーチェックが追加された。虐待者から守れる Matterというスマホの規格に則った CarPlayは大画面 watchOS ムードの追加 ランニングフォームの追加 睡眠のステージ計測 心房細動の検知 薬の管理。 薬の通知もする。 日本語キーボード対応 mac M2チップ追加。 ventura発表 stage mangerで端にウィンドウが配置される spotlightも強化 メール送信取り消し、送信スケジュールもできるようになった shared tab group パスワードのいらないログイン。 Metal3とAPIも追加 FaceTimeにもhandoff追加 iphoneをwebカメラ使えるように iPad sneak peek ゲームはmetal3が使えるように desktop class appが使える カスタマイズ可能なツールバーの導入 Reference Mode導入 新しいディスプレイスケーリング追加 Stage Manager導入。ウィンドウが重ねて表示できるように。8つまで使える。 Beta FAQ FAQStage Managerいい 設定で位置共有許可はさりげなくいい機能 要約 “Add Live Text interaction to your app” @ushisantoasobu 様
LiveTextのおさらい iOS15から使えたもので、画像からテキストを解析して、選択してコピーや調べる、翻訳などができる。 ios16からは日本語に対応した LiveText APIについて アプリからLive TextAPIが使えるようになった LiveTextAPIの対象は画像や動画のフレーム DataScannerViewControllerはカメラで写しているものになるので別セッションのお話 iOS16からです 登場登場人物 UIImageViewのImageをAnalyzerにかけるとAnalysisが帰ってくるのでIneteractionにつなげると使える Tipsだったり気をつけること インタラクションタイプをカスタマイズできる。 UIを制限できる 実装編UIImageViewを使わないとテキストハイライトがずれるかも。そういう時はインタラクションのdelegateメソッドを使って調整してね インタラクションは画像を管理してるクラスに設定する 他のジェスチャーとぶつかる可能性あり パフォーマンスImageAnalyzerはアプリで一つにする AAnalyzeするのは画像の表示、その直前まで AVPlayer, AVPlayerViewControllerはデフォルトでLiveText対応してるので一時停止したときに読み取れる。 FAQ What’s new in Vision 佐藤タケシ @hatakenokakashi 様
Vision/VisionKit Frameworkの新機能 Vision Frameworkは画像分析ができるframework。分析するものによってクラスが分かれている VisionKit Frameworkは分析を土台として、LiveText、k前らを通してテキスト分析、ドキュメンとスキャンなどを提供している 新機能 テキスト認識に日本語と韓国語が追加 VNRecognizeTextRequestのsupportedRecognitionLanguageから対応言語が取得できる
顔検出のRevision1削除 Revision1が非推奨になった。 Revision1を指定するとRevision2になる。挙動は変わらない。実行時間も変わらず正確さが向上する Quick Look Previewのサポート VisionKitの新機能 DataScannerVCが追加 今までの読み取り方法 これからの読み取り方法。一つだけになった info.plistにカメラ使う旨を追加しましょう。
vcだけでできるが、for awaitでも実装できる アイデア 家計簿アプリでレシート読み込み メモアプリで印刷物の読み込み ハッシュタグキャンペーン 配送センターアプリ ライブイベントの会場受付 FAQ AVFoundationがすごく楽になったのでとても嬉しい。 Previewで解析結果が観れるのはどういう感じ?画像と検索結果が表示される。 breakpointを貼って解析結果の中身が見れる。 UIViewの座標との差分がわかりやすい 今まで顔の座標しか帰ってこなかったが、ビジュアル的に見えるのは便利 Rivision1,2って何?バージョンでしかないと思う。1であれば1のアルゴリズム、2であればバージョン2のアルゴリズムを使うというだけ Chart実装が楽になりました @shicimi_0_o 様
どんなかんじに楽に描けるかサンプルを動かしてみました!
FAQなど つまりポイントはありましたか?データ構造としてLine chartの場合、データとIDが必要になる。identifiableを使ってやらないといけない Chart自体が座標の配列を持っていて、各要素のデータの識別ができないといけない UIKitというよりはSwiftUIできてるが、今後AppleはSwiftUIで出してくる予感を感じるWidgetはSwiftUIでしか使えなくなった AppClipもSwiftUIでしか使えない Complications and widgets: Reloaded @tsuzuki817 様
watchOSからiOSへ iosのロック画面でComplicationのようなWidgetがおける。 accessory接頭語を持つWidgetFamilyが追加された。これで書くとios16とwatch os9どちらでも使える rectangular:数行のテキスト、小さいグラフやチャートを表示 circular:簡単な情報を表示 inline:テキストのみを表示。時計の上における。 corner: 小さな円を表示 Color and Rendaling fullColor,accented以外にvibrantというレンダリングモードが追加された。 widgetRenderingModeで指定していく Full Color:指定された通り表示される accented: Viewが2つのグループに分割。フラットに着色してくれる。見た目の確認は.wdigetAccentableというのを使うと確認できる vibrant一回脱色された後にロック画面の背景に合わせて色付けされる 背景に透明を使っているとみづらくなるので要注意。 黒や濃い色を使って可読性を保ちつつ目立つようにする AccesoryWidgetBackgroundが追加 新しいWidgetで使えるSwiftUIの新機能 自動更新ProgressViewが追加された 情報によって表示領域が変わってしまう? 複数のViewを指定すると利用可能なスペースに収まる最初のコンテンツビューを表示する FAQ accentedにしたときよしななカラーになるがダークモードもそうか? What’s new in Swiftの要約 @the_uhooi 様
全般 if-let構文を省略できる
クロージャ内に複数の分でも引数と戻り値の方を省略できる
Generics ジェネリック関数の引数にデフォルト値を指定できる
連想方を持つプロコトルを型として使える
関数の引数にsomeが使える
プロトコルに山括弧で関連型をかける。whereを一切使わずに描けるようになった
まとめ コードの記述量が減る言語使用が増えた genericsが強化され、より直感的に記述できるようになった。 特にsome/anyを使うと読みやすい FAQなど if letを減らす件に関して、三項演算子みたいにいい感じに描けるようになるのはいい。賛否両論あるが、書く側は便利だが、コンパイル速度落ちるのもある some/anyは読めるとかなり便利。どんなアプリにも使えるので最優先に勉強した方がいい。 protocolでwhereを使わなくて済むようになる some/anyに関しては下記を見ておくのがおすすめです。 “Heart of Swift” は、 Swift の Heart である Value Semantics と Protocol-oriented Programming を軸に、 Swift という言語のコンセプトを説明するオンライン書籍です。Heart of Swift - Heart of Swift
Meet Swift Regex @usamik26 様
swift5.7で正規表現を扱うRegexの紹介 split(by:)を使うことで正規表現で表現できる。 struct Regex 実行時に生成するのでtryが必要 Regexビルダーは宣言的にかける Swift Regex リテラルと構造的なビルダーが使える 既存のパーサが使える Unicodeを扱える Regex builder Captureは一語を取り出したい時に使える
応用例として、条件によって日付のパース処理を変えるといったこともできる
変数名などをつかってうまく処理する
TryCaptureでCaptureしたデータを変換できる
セパレータの処理に無駄があることがあるが、Localを使うと避けることができる
FAQなど リテラルかけるので、ビルド時に正規表現をチェックしてくれる。間違ってればビルドエラーになる。 コードレビューする時、何が正しいかというのを判断しづらい まだパスワードで認証してるの?Passkeysを使ってパスワードを駆逐してやる! パスワードを使わずに認証ができるPasskeysを紹介しました。 細かい内容に関してはqiitaにまとめましたので下記をご覧ください。
What’s new in xcode @jollyjoester 様 こちらのビデオの良さそうなところの紹介です。
xcodeのサイズが小さくなった。
端末サイズのプレビューがふく端末サイズのプレビューが複数見れるようになった
コード補完でinitが全部出せるようになった
xcodeにあるアイコンを使えるようになった
swiftUIのパラメータで必要なパラメーパラメータだけを入力できるようになった
テストでこのメソッドがどこから呼ばれてるかわかる
テスト名がスクロールしても上にヘッダーとしてfixされるようになった
他の細かい挙動は動画を見てね!
What’s new in PDFKit @codelynx1 様
pdfkit frameworkの構成は今までと一緒
live textがpdfにきた。
formをサポートして、fieldとして認識するようになった
Overlay views PDFのイメージをとってきてpdfのページもできる pdfのページビューの上にoverlayで好きなビューを置くことができるようになる PKCanvasFeedを書くと書いたりすることもできる。 書いたデータはちゃんとannotationとして保存できる
PDF保存のベストプラクティス jpgで保存したり、画面表示するのに最適化したものや、画像のプログレシッブみたいにDLしたページに応じて見ることができるようにしたりできる
FAQ 入力した値をフォームに入れられる?今までは、座標に文字を入れて画像として書き出すなどしなくて面倒だった。 テキストでも入れられるし、手書きで書いてもアノテーションとして保存できるかも? もぐめっとの所感 今年もコードの書き方から便利機能までたくさんの内容が追加されました!
(LiveActivites気になったのにまだ使えなくて悲しかった・・・)
痒いところにちょっとずつ手が届いてきたりしているので今後の進化に乗り遅れないように引き続きキャッチアップをしていこうと思います!
最後に、
ワンナイト人狼オンライン というゲームを作ってます!よかったら遊んでね!
◆◇ワンナイト人狼ゲーム 公式オンラインアプリ◇◆あの有名なボードゲームの " 人狼ゲーム " が、オンラインゲームアプリとして無料で楽しめる!ワンナイト人狼オンラインは、人狼ゲームをもっと簡単に3人から遊べるようにした協力オンラインゲームアプリ。人狼ゲームの面白さがこのオンライン無料アプリにギュッとつまってます!友達を誘って協力するのも良し!1人で参加し、オンライン上で友達を探してもOKです!◆◇ワンナイト人狼オンラインアプリの特徴◇◆・脱落者なし・3人からでも遊べる・無料でゲームができる・少ない情...ワンナイト人狼オンライン 友達と推理する協力オンラインゲーム - App Store
他にも
Camecon や
Offcha や問い合わせ対応が簡単にできる
CSmart といったといったサービスも作ってるのでよかったら使ってね!
Camecon(カメコン)はどなたでも気軽に応募できるフォトコンテストサイトです。プロ、アマチュア、性別、国籍など一切問いません。機材も自由なので、トイカメラ、スマートフォン等でも大丈夫です。Cameconでは他のフォトコンには無いクスッと笑えるテーマから定番のテーマまで幅広いテーマを扱うので、あなたに合ったテーマがきっと見つかります。Camecon - Camecon
offchaならURLをシェアするだけでグループチャットができる!SNSの連携なし&参加もラクラク!Offcha - Offcha
URLを貼るだけ、オンライン接客の準備完了!デザインやコードの知識不要。簡単&スピーディーなチャットを実現。CSmart - CSmart
また、チームビルディングや技術顧問、Firebaseの設計やアドバイスといったお話も受け付けてますので御用の方は弊社までお問い合わせください。
https://virapture.com
- virapture.com
ラグナロクでもエンジニアやデザイナーのメンバーを募集しています!!楽しくぶち上げたい人はぜひお話ししましょう!!
ラグナロク株式会社では多くの会社のスマホアプリ開発のサポート業務・スマホアプリ内製化やチーム育成等を行っております。開発コンサル事業、開発チームでのタスク管理や工数管理、スクラム開発等の手法のアドバイスもしております。ラグナロク株式会社 - ラグナロク株式会社 - Android iOSアプリ開発支援・チーム育成
View Comments
Your article helped me a lot, is there any more related content? Thanks! https://accounts.binance.com/sv/register-person?ref=UM6SMJM3
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.