20210608のiOSに関する記事は8件です。

Xcode13から追加されたXCTestの連続実行を試す。

テストを実行すると、成功したり、失敗したりする場合が・・・ こんなことがたまにあるかと思います。 手動で10回くらいテスト実行して問題ないか確認するかと思いますが、今回のアップデートによって楽にできるようになりました! 成功したり、失敗したりするサンプルテストコードを作成 Sample.swift import Foundation class Sample { func random() -> Int { let array = [1, 2, 3, 4, 5] return array.randomElement()! } } SampleTest.swift class SampleAppTests: XCTestCase { func testExample() throws { let sample = Sample() XCTAssertEqual(sample.random(), 1) } } 試してみる 繰り返したいクラスorメソッドを副クリックしRun "クラスorメソッド" Repeatedly...をクリック リピートの設定をする Stop After...テストを停止するタイミング Failure...失敗時 Success...成功時 Maximum Repetitions...とりあえず全部実行 実行結果 100回分の実行結果がまとめて表示される まとめ これは良いアップデートだ。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

WWDC 2020 TechTalk 「Create MLの物体検出モデルの改善」のポイントを整理する

この記事は? 自前の画像を用意しCreateMLを使って物体検出モデルを生成するにあたり、パラメータなど気を付けるべきことは何か?を確認するため、WWDC 2020 TechTalk 「Create MLの物体検出モデルの改善」 を視聴しました。 この記事では、その動画で説明されたポイントを整理して、実際にCreateMLを使ってみて表示内容を確認しました。 WWDC 2020 TechTalk 「Create MLの物体検出モデルの改善」のポイント トレーニング時のパラメータ CreateMLでトレーニングする際に、以下のパラメータを指定できる アルゴリズム イテレーション バッチサイズ グリッドサイズ:アルゴリズムがFull netowrkの時のみ アルゴリズム Full network Transfer Learning 特徴 2019年に導入 YOLOv2アーキテクチャに基づく 16ビット精度で重みを保存 Photosが使う訓練済みバックボーンを利用 モデルサイズ(2019年が65MB) 33MB 7MB 利用可能なバージョン iOS 12以上 iOS 14以上 必要なトレーニングデータの目安?(1クラスあたり) 200 80 どういうときに使う? 訓練データが大量にある場合 データが限られ軽いモデルにしたい時 Full networkのトレーニングパラメータ Transfer Learningのトレーニングパラメータ イテレーション モデルのパラメータが更新される回数 デフォルト値はデータセットのサイズにより選択される バッチサイズ 1回のイテレーションで使われたトレーニング画像の数 デフォルト値はハードウェアの制約に基づいて選択される バッチサイズは大きい方がよいが、制約に合わせて調整するのがよい グリッドサイズ Full networkのみのパラメータ インプット画像のアスペクト比と、モデルがオブジェクトを探す場所を定義する デフォルトは13×13のグリッドを使用 15×8のような長方形も指定可能 グリッド数が多くなると検出できるオブジェクトの数が増える一方で、画像当たりの推論の数が増える → 計算コストを考慮することが重要! 正方形でないインプット画像に正方形のグリッドを使えば、情報が失われモデルの精度が悪くなる → グリッドは入力画像のアスペクト比を維持するよう設定するのが良い結果をもたらす モデルの評価 物体検出モデルの評価指標には以下の2つを使う IoU(=Intersection over Union) mAP(=mean Average Precision) IoU 推論で描くバウンディングボックスと、注釈でつけたバウンディングボックスの重なり具合 0%は重なりがないことを示し、100%は完全に重なっていることを示す mAP 推論結果のラベルが正しいこと、IoUがある一定の閾値以上であることを使って導き出す指標 mAP算出にIoU使う mAPが高いほど正しい推測 ビデオではあまり詳しい説明はなし 【物体検出】mAP ( mean Average Precision ) の算出方法 に詳しく解説されています CreateMLの画面でIoU, mAPを実際に確認してみる 実際にCreateMLを起動しトレーニングを流して、動画で解説のあったIoU, mAPを確認してみました。 IoU 実際のCreateMLの画面では、I/U 50%と Varied I/Uの2つが表示されています 【IOU】 Object Detection の性能指標【I/U】 の解説によると I/U 50% > このIOUが50%を越えているもの(50%重なっているもの)を正解とみなして%表示しています。 varied I/U > 閾値を50%〜95%まで変化させた時の平均正解率 余談:トレーニングデータがよくなかったのでしょうか、かなり低い値となってしまいました。。。 mAP 画面上、明示的にmAPと書かれた箇所はないのですが、動画では、 The overall mean Average Precision for our data set can be seen at the top right corner. と言っているので、右上にあるValidationの値がmAPにあたる値なのかと思います。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

WWDC 2021 の Apple Developer ニュースまとめ

WWDC 2021 で公開された目玉機能は Apple Developer ニュースにまとまっているので、先に Apple Developer ニュースをメモしておく。 ニュース - Apple Developer 英語の日本語訳はGoogle翻訳を利用しています SF Symbols 3のベータ版が利用可能に - ニュース - Apple Developer SF Symbols 3では、600種以上のシンボルが新たに追加されました。このアップデートには、色のカスタマイズの改善、レンダリングや色の設定のコントロール機能がついた新しいインスペクタ、カスタムシンボルのサポート改善なども含まれます。 SF Symbolsについてさらに詳しく(英語) SF Symbols 3 With over 3,100 symbols, SF Symbols is a library of iconography designed to integrate seamlessly with San Francisco, the system font for Apple platforms. Symbols come in nine weights and three scales, and automatically align with text labels. They can be exported and edited in vector graphics editing tools to create custom symbols with shared design characteristics and accessibility features. SF Symbols 3 features over 600 new symbols, enhanced color customization, a new inspector, and improved support for custom symbols. 3,100 を超えるシンボルを備えた SF Symbols は、Apple プラットフォームのシステム フォントである San Francisco とシームレスに統合するように設計された図像のライブラリです。 シンボルには 9 つのウェイトと 3 つのスケールがあり、テキスト ラベルに自動的に配置されます。 それらをエクスポートしてベクトル グラフィック編集ツールで編集し、共通のデザイン特性とアクセシビリティ機能を備えたカスタム シンボルを作成できます。 SF Symbols 3 には、600 を超える新しいシンボル、強化された色のカスタマイズ、新しいインスペクター、およびカスタム シンボルのサポートの改善が含まれています。 App StoreのAppに関する最新情報 - ニュース - Apple Developer App StoreでAppをより簡単にユーザーに見つけてもらうための最新機能を活用し、またApp内課金によってAppで高品質の体験を提供しましょう。 ・App StoreでApp内イベントを直接紹介 ・プロダクトページにおいて、それぞれ固有のURLを持った複数のバージョンを作成して、異なる機能やコンテンツを紹介 ・App Storeのデフォルトのプロダクトページ上で、異なるアイコンやスクリーンショット、Appのプレビューを試用し、それぞれのパフォーマンスを比較することで、ユーザーからの反響が良いバージョンを確認 ・TestFlightを利用したMac Appのベータ版テストの実施 ・パワフルな最新のSwiftベースのAPIをStoreKit 2と合わせて活用。ユーザーによる返金リクエストやApp内でのサブスクリプション管理を可能にする新しいAPIで、よりシームレスなApp内課金のサポートを提供 ・Game Centerウィジェットにより、プレイヤーにゲームを見つけてプレイしてもらえるように促し、Friends APIでソーシャルなゲーム体験を構築 最新情報を確認する(英語) What’s New - App Store - Apple Developer ここにはかなり重要な情報が盛り沢山。このページだけでいくつもの記事ができそうなので詳細はスキップ。タイトルだけ抜き出しておく。 In-app events App Store product pages Custom product pages Product page optimization TestFlight on Mac StoreKit 2 App Store server APIs App Store server notifications App Analytics New App Store features New metrics Game Center Friends API Game Center widgets App Attest API App Store widget ShazamKitの紹介 - ニュース - Apple Developer 音声認識を利用して、Appの体験をさらに豊かなものにしましょう。Shazamの膨大な音源カタログをベースに、何百万曲の音楽をマッチングしたり、ビデオ、Podcast、その他の音源からカスタムカタログを作成して、事前録音された音声を認識したりすることができます。 ShazamKitについてさらに詳しく(英語) ShazamKit - Apple Developer Bring audio recognition to your apps with ShazamKit. Match music to the millions of songs in Shazam’s vast catalog or make any prerecorded audio recognizable by building your own custom catalog using audio from video, podcasts, and more. ShazamKit でアプリに音声認識をもたらします。 Shazam の膨大なカタログ内の何百万もの曲に音楽を一致させたり、ビデオやポッドキャストなどからのオーディオを使用して独自のカスタム カタログを作成して、事前に録音されたオーディオを認識できるようにします。 SharePlayの紹介 - ニュース - Apple Developer SharePlayは、まったく新しい形で、FaceTimeからさまざまな体験を直接共有できる新機能です。Group Activities APIを利用することで、App上の映画やテレビ番組、音楽などのコンテンツを、顔を見て会話ができるFaceTime上で共有することができます。 SharePlayについてさらに詳しく(英語) SharePlay Overview - Apple Developer Bring users together in an entirely new way by integrating your apps into FaceTime using SharePlay and the Group Activities API. SharePlay と Group Activities API を使用してアプリを FaceTime に統合することで、まったく新しい方法でユーザーを結び付けます。 拡張現実の最新機能が利用可能に - ニュース - Apple Developer ARKit 5にはAppのAR体験をさらに充実させるための新機能や改善点が盛り込まれています。ロケーションアンカーをさらに多くの都市に配置できるようになり、バーチャルコンテンツをApp Clip内またはARKit App内でプリント版またはデジタル版のApp Clipコードへとピンできるようになりました。また、iPad Pro(第5世代)の超広角カメラでフェイストラッキングを活用するなど、さまざまな機能が利用できます。 拡張現実についてさらに詳しく(英語) Augmented Reality - Apple Developer Dive into the world of augmented reality. 拡張現実の世界に飛び込みましょう。 Build unparalleled augmented reality experiences for hundreds of millions of users on iOS and iPadOS, the biggest AR platforms in the world. With powerful frameworks like ARKit and RealityKit, and creative tools like Reality Composer and Reality Converter, it’s never been easier to bring your ideas to life in AR. 世界最大の AR プラットフォームである iOS と iPadOS で、数億人のユーザー向けに比類のない拡張現実体験を構築します。 ARKit や RealityKit などの強力なフレームワークと、Reality Composer や Reality Converter などのクリエイティブ ツールを使用すると、AR でアイデアを実現することがかつてないほど簡単になります。 RealityKit 2 AR creation tools AR Quick Look AR on the App Store Resources 機械学習の最新機能が利用可能に - ニュース - Apple Developer macOSに加えてiOSとiPadOSでも、Create MLのパワーをSwiftフレームワークとして利用できるようになりました。Swiftのスクリプトやプレイグラウンドでプログラミングの試行やモデル作成の自動化を行うことができます。 ユーザーインプットやデバイス上の動作から直接モデルをトレーニングするCreate ML APIを活用し、動的なApp機能を構築して、ユーザーのプライバシーを保護しながら状況に応じパーソナライズされた体験を提供しましょう。新しいテンプレートやトレーニング機能、VisionやNatural Language、その他の最新機能も利用できます。 機械学習についてさらに詳しく(英語) Machine Learning - Apple Developer Create intelligent features and enable new experiences for your apps by leveraging powerful on-device machine learning. Learn how to build, train, and deploy machine learning models into your iPhone, iPad, Apple Watch, and Mac apps. 強力なオンデバイス機械学習を活用して、インテリジェントな機能を作成し、アプリの新しいエクスペリエンスを実現します。 機械学習モデルを構築、トレーニングし、iPhone、iPad、Apple Watch、Mac アプリにデプロイする方法を学びましょう。 Core ML Machine Learning APIs Create ML Xcode Cloudの紹介 - ニュース - Apple Developer Xcode Cloudは、Xcodeに組み込まれた継続的インテグレーションおよびデリバリーサービスで、Appleデベロッパのために設計されたものです。Appのビルド、自動テストの並列実施、テスターへのAppの配信、およびユーザーフィードバックの確認と管理に役立つクラウドベースのツールを統合したXcode Cloudは、高品質なAppの開発と配信を加速化します。いますぐ登録して、ベータ版を入手しましょう。 Xcode Cloudについてさらに詳しく(英語) Xcode Cloud Overview - Apple Developer Xcode Cloud is a continuous integration and delivery service built into Xcode and designed expressly for Apple developers. It accelerates the development and delivery of high-quality apps by bringing together cloud-based tools that help you build apps, run automated tests in parallel, deliver apps to testers, and view and manage user feedback. Xcode Cloud は、Xcode に組み込まれた継続的インテグレーションおよび配信サービスであり、Apple 開発者向けに特別に設計されています。 アプリの構築、自動テストの並行実行、テスターへのアプリの配信、ユーザー フィードバックの表示と管理に役立つクラウドベースのツールをまとめることで、高品質のアプリの開発と配信を加速します。 ここはかなり気になるが詳細はスキップ。 Easy setup Build in the cloud Automated workflows Parallel testing Xcode integration Works with TestFlight Instant deployment to testers Custom groups of testers App Store Connect dashboard Security and privacy Xcode 13が利用可能に - ニュース - Apple Developer チーム開発に最適なパワフルな新機能がXcode 13に加わりました。これらの新機能は、Xcode Cloud、およびGitHub、Bitbucket、GitLabのコラボレーション機能との組み合わせに最適です。Xcode内で直接プルリクエストの新規作成、レビュー、コメント、マージができます。コード上でチームメートのコメントを直接確認することができます。また、2つのバージョンのコードファイルをすばやく比較することも可能です。 Xcode内で直接プルリクエストの新規作成、レビュー、コメント、マージが出来るようになる。 さらに詳しく(英語) Xcode 13 Overview - Apple Developer Xcode 13 には、強力な新しいチーム開発機能が追加されており、Xcode Cloud や GitHub、Bitbucket、GitLab コラボレーション機能との連携に最適です。 Xcode 内で直接プル リクエストを開始、レビュー、コメント、マージします。 コード内でチームメイトのコメントを確認できます。 また、コード ファイルの 2 つのバージョンをすばやく比較します。 Easy setup Team comments inline Quick compare Cloud signing Bottom bar Vim mode CarPlay simulator Instant crash reports and feedback Custom documentation Appleプラットフォームの最新情報 - ニュース - Apple Developer iOS 15、iPadOS 15、macOS Monterey、tvOS 15、および watchOS 8の目覚ましい最新技術を利用して、ユーザーエンゲージメントを高める、シームレスでインテリジェントな体験を構築しましょう。すべてのAppleプラットフォーム向けのSDKを含むXcode 13のベータ版が入手可能です。 WWDC21のセッションとトピックのタグが利用可能に - ニュース - Apple Developer WWDC21のセッションとトピック専用のタグを利用して、Apple Developer Forumで1,000人を超えるAppleのエンジニアとつながることができます。 Updated agreements now available - ニュース - Apple Developer The Program License Agreement, Schedules 1, 2, and 3, and Apple Developer Agreement have been updated to provide clarification, and to support updated policies and upcoming features. プログラム使用許諾契約、スケジュール 1、2、および 3、および Apple 開発者契約が更新され、明確化を提供し、更新されたポリシーと今後の機能をサポートするようになりました。 10時過ぎにやっと Platforms State of the Union が公開された。 Platforms State of the Union (ASL) - WWDC 2021 - Videos - Apple Developer
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

flutter で行こう;iOS,Android 自由自在

flutterという言葉をチラホラ耳にする機会も多くなったと思う、またコーダーであればiOS,Androidのapp開発でそれぞれXcodeとAndroid Studioの環境を使い分ける事にストレスを感じる事も多いと思う。 これらの環境を一元的にコーダーの視点で統一的に開発ができる様になった環境がflutterだ。 是非この機会に接する事をオススメする。とは言え私もflutter熟練者ではないので、皆さんと同じ様にTry&Errorをしつつ参考を示していきたい。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

最近Swift書いている時に気をつけている基本的なこと

初めに 人によっては当たり前すぎとなるようなことかもしれませんが書き記しておきます。 今後自分が成長するにつれてどんどんこの記事が膨れ上がっていくかもしれません 共通化 これはまじで当たり前かもしれませんが、コードを何かたす際や修正する際に常に他の所でも使えるように共通化できないか考えます。 例えば最近だとAPIを叩いている時に薄暗い画面にローディングインジケーターを出すタスクをしたのですが、その場合はViewControllerに直接書くのではなく、Utilフォルダなどにローディングインジケーターをスタートさせたり、ストップさせたりするクラスやプロトコルを作っておくみたいな感じです。 他にも色々な画面で使いそうなalertだったりサインインやサインアップで使用するvalidationなど共通化できるものは様々です。 文字列をハードコードしない これも当たり前なのですが、rswiftなどを駆使して文字列は直接書き込まないようにしています。おそらく企業が運営しているアプリなどではほとんど文字列を直接書き込んだりしないでしょう。 ただrswiftなどを使わずに定数などを使って管理する文字列もあったりとそこはプロジェクトによりけりだと思います。 swiftの関数について理解しておく これは自分の最近あったことで言うと pushViewControllerなど画面遷移で使う関数のcompletion引数はdefaultでnilが設定されているので何もしない場合省略でいいのですが、そうとは知らずにnilを毎回わざわざ代入してしまってました。 恥ずかしい笑 このようにいつも使用している関数などもっと簡潔に書けるかもしれないなど気をつけて行こうと思いました。 後日増えていきます ここからはおそらく今後どんどん増えていきます
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

WWDC 2021基調講演をもとにしたメモ(新しいフレームワークの紹介)

これは、WWDC基調講演の公開映像をもとにしたメモであり、iOS、iPadOSおよびMacOSの新たな変更点を理解するのに役立ちます。 ※一般公開されているWWDC Keynoteの動画と公開Session/Documentationページだけを使ってこの記事を執筆しました。 https://www.apple.com/apple-events/june-2021/ https://developer.apple.com/wwdc21/sessions/ https://developer.apple.com/documentation/ https://developer.apple.com/documentation/technologies?changes=latest_minor ここにはスクリーンショットは含めません。 この他にもたくさんのセッションや動画があります。これまで紹介したのはその一部のみです。すべての動画についてはこのページをチェックしてください。 デベロッパー関連の機能 フレームワーク 写真を撮影して3D ARオブジェクトの作成が可能になりました。 Documentation -> Capturing Photographs for RealityKit Object Capture Documentation -> Creating 3D Objects from Photographs Sample code -> Taking Pictures for 3D Object Capture Sample code -> Creating a Photogrammetry Command-Line App Xcodeクラウド クラウドサーバーを利用してアプリをビルドし、チーム全体でビルドの結果を確認できます(クラウド上でテストを実行できて、その結果がXcode上で表示にされます)。 また、TestFlightを介してアプリをテスターに自動配布することも可能です。 Session -> Customize your advanced Xcode Cloud workflows(公開予定) Documentation -> https://developer.apple.com/documentation/Xcode/Xcode-Cloud ShazamKit(音楽認識) Documentation -> https://developer.apple.com/documentation/shazamkit フェイスタイム通話とアクティビティ共有(SharePlay) アプリはFaceTimeグループでデータを送信できます。 Session -> Coordinate media experiences with Group Activities(公開予定) Session -> Build custom experiences with Group Activities(公開予定) Session -> Design for Group Activities(公開予定) Documentation -> https://developer.apple.com/documentation/GroupActivities 空間オーディオ 新しいサウンド分析フレームワークで、音を検知(人間の声、楽器、動物、その他300種以上の音) Documentation -> https://developer.apple.com/documentation/soundanalysis iOSシステムでSafariウェブ拡張機能がご利用いただけます。 Session -> Explore Safari Web Extension improvements(公開予定) Nearby Interaction フレームワークは、 U1チップを搭載したiPhone用のUWBサード​パーティ製アクセサリと連動できるようになりました。 これにより、携帯とアクセサリ間の正確な相対位置を取得できます。 Session -> Explore UWB-based car keys(公開予定) Documentation -> https://developer.apple.com/documentation/nearbyinteraction/ninearbyaccessoryconfiguration スクリーンタイムAPI Documentation -> https://developer.apple.com/documentation/ManagedSettings 空間オーディオの統合 / 動的な3Dオブジェクトのテクスチャ 通知のための新しいAPI(マインドセット/モード) アプリは、システムの通知モードを確認することができます。(個人、仕事モード...) Session -> Send communication and Time Sensitive notifications(公開予定) iCloud Keychainで認証コードを生成して、より安全なサインイン体験を Session -> Secure login with iCloud Keychain verification codes(公開予定) (関連)パスワードなしでユーザーを登録して認証します。 Documentation -> Public-Private Key Authentication ライブテキスト テキストの写真を撮り、そのテキストを選択できます。すでにライブラリにある写真にも対応しています。(ジェスチャーで写真の中のテキストを選択するだけです)。 iCloud+ プライベートリレー。メールを隠す。ランダムでユニークなメールアドレスをシェアできます。(必要なだけ)。ホームキットの安全なビデオ。 Matter Matterと呼ばれるスマートホームデバイス用の新たな通信プロトコルがあり、AppleのHomekitに対応しています。 Session -> Add support for Matter in your smart home app(公開予定) メールアプリの拡張機能を構築できるようになりました(コンテンツブロッカー、メッセージコンポーザー、メッセージカスタムアクション、メール暗号化など) Session -> Build Mail app extensions(公開予定) Swift 並行プログラミング Session -> Discover concurrency in SwiftUI(公開予定) Session -> Meet AsyncSequence(公開予定) Session -> Swift concurrency: Update a sample app(公開予定) Session -> Use async/await with URLSession(公開予定) Session -> Bring Core Data concurrency to Swift and SwiftUI(公開予定) Documentation -> https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html App Store 複数の商品ページを作成(異なるアプリアイコン、スクリーンショット) App Storeでアプリ内イベントを特集できるようになりました。 iPadOS iPadウィジェット用の特大サイズhttps://developer.apple.com/documentation/widgetkit/widgetfamily/systemextralarge iPad OS クイックノート Appleペンシルを使って画面(右下)の角からスワイプしてから、ノートを取ってください。ノートは、それを取ったアプリへリンクされます(また、同じアプリを開いたときにハイライトされます) Session -> Adopt Quick Note(公開予定) iPad版Swift Playground: SwiftUIコンポーネント。 iPadでアプリを作成。 iPadで作成したアプリをそのまま直接App Storeに提出することが可能。 MacOS Macシステムでショートカットアプリがご利用いただけます。 他の機能: - 地域に基づく通知 - WatchOSのNearby Interactionフレームワーク - UI試験の強化 - メモリーグラフ - スマート音量 SwiftUIを使って検索ビューを追加する方法を学ぶ Apple Watch 常時表示 アプリケーションが常にApple Watchの画面に表示されるようにする Documentation -> https://developer.apple.com/documentation/watchkit/designing_your_app_for_the_always_on_state 一部の機能は既に上で触れられておりますので、次のいくつかのセクションでは取り上げません。 iOS フェイスタイム通話 グループ通話での空間オーディオ 人の発言だけが聞こえるように、雑音を除去 参加者全員を一つの画面で見ることができるグリッド表示 ポートレートモードへ切り替え、背景をぼかす フェイスタイムリンク / フェイスタイム通話をスケジュール(イベントをフェイスタイム通話にする) その他のシステムをお使いの場合(アンドロイドおよびウィンドウズのデバイス)、ウェブ上でフェイスタイム通話に参加できます(エンドツーエンド暗号化も) フェイスタイム通話とアクティビティ共有(映画を見たり、音楽を聴いたり、など)(SharePlay) 共有 iMessageを使用して共有したコンテンツは、さまざまなシステムアプリケーションで表示できます。 フォーカスモード: 通知要約 お友達は、いつあなたがiMessageアプリで「Do Not Disturb」をオンにしたかを知ることができます。 デバイスを現在のマインドセット/モード(個人モード、仕事モード...)に合わせます。 仕事中であれば、仕事用アプリケーションからの通知だけを受け取ることができます。 インテリジェンス: ビジュアル検索(犬のパン、花の種類、本、ペット、目印)。 スポットライトで写真を検索します。写真の中にあるもの、場所、テキストで検索します。 連絡先の豊富な検索結果(電話をかけるアクション、関連するすべて、Find My、カレンダー、メール、メモ、ファイル)。 Spotlightのテレビ番組、映画の結果。 Photos Memories:Apple Musicの曲を使用できます。思い出のペースに合わせた音楽。 Memory Mixesでいろいろなミックスを試してみましょう。 ウォレット: アパート、家、ホテルの部屋(対応するホテル)の解錠 ID(運転免許証など)をウォレットに(現在はアメリカでのみ利用可能) 天気: 美しい新デザイン。 気象パターンに合わせて背景を追加 Appleマップ: 地球を見る 新しいマップを更に色々な国に。 道路の色や標高、カスタムデザインされたランドマークなど、新しい情報が追加されています。(バイクレーン、横断歩道、高速道路のインターチェンジなどを3Dで表現します) グロー機能付きマップのナイトタイムモード トランジット。エリア内の建物をスキャンし、ARで方向を生成。 AirPods: AirPodsがiPhoneから離れたときに作動する置き忘れ防止アラート。 「探す」アプリのネットワークでAirPodsの位置を探せるように。 健康アプリ: 歩行の安定性。スマホでその人の転倒リスクを評価できるようになりました。 システムで健康データのトレンドを生成できるようになりました。 健康アプリで記録した健康データを医療機関と共有しましょう。 さらに、健康データを家族と共有することもできます。 iPad: ウィジェットをホーム画面に配置。 iPad アプリライブラリ マルチタスキング : iPad 画面上部に表示される新しいコントロールでスプリットビューをすばやく作成。 新しいシェルフビューで異なるウィンドウ間の切り替えが手軽に。 新しいキーボードショートカットセットでマルチタスキングを実行。 メモアプリ メモアプリの共有ノートで誰かの名前に言及。 メモアプリのアクティビティ表示で、最新の変更を見る。 翻訳: この度、iPadでご利用いただけるようになりました。 プライバシー: メールのプライバシー保護: IP アドレスを隠します。 Safari: ウェブサイト トラッカーから IP アドレスを隠します。 アプリのプライバシー レポート: アプリがユーザーの位置、写真、カメラ、連絡先、その他の情報にアクセスする頻度 (過去 7 日間) の概要を表示します。 アプリが接続を確立したすべてのサードパーティ ドメインを表示します。 Apple Watch: 睡眠トラッキング(睡眠中の呼吸数)を改善。 ワークアウトの種類を新たに追加。 ポートレート写真(特殊効果付き)を文字盤に。 Apple Watchの写真アプリで写真のハイライト(写真共有機能を含む)を表示できるように。 複数のタイマー、身体の項目、およびその他機能。 Apple TV: SiriやHomePodにApple TVで番組を再生してもらう みんなの興味に合わせて映画を提案する。 Apple TVのスピーカーとしてHomePod miniを選択する。 HomePod miniでSiriに個人的なリクエストをする。 他のデバイス(サーモスタットなど)にSiriを使う(リクエストは自宅のHomePodにルーティングされます) カメラが荷物を検知する(荷物が配達された時のリマインダー)。 すべてのカメラの映像をApple TVで表示する MacOS: 新しいMacOSの名は「Monterey」 新しいフェイスタイム機能(上に記載の通り) コントロール機能 マウス、キーボード、またはトラックパッド一つでMacとiPadをコントロール MacBookのタッチパッドカーソルを直接画面の端まで動かして、iPadへ移動させることが可能(たとえば、iPadをMacBookの右隣りに置き、カーソルを右へ動かすと、iPadにカーソルが現れます)。 ドラッグとドロップも機能します。 別のMacコンピューター上でも機能します。 3台以上のデバイスでも機能します(オブジェクトを複数のデバイス間で移動させることが可能)。 AirPlayを使ってあなたのコンテンツをMacで再生できます。 サファリでそれぞれ異なったグループにタブを分けることが可能です(iCloudによって同期) すべての新機能についてはこちらをご覧ください。 https://www.apple.com/jp/newsroom/ すばらしいセッションやビデオがたくさんあります。このメモを参考に、すばやくナビゲートしていただければ幸いです。 Twitter ツイッター @MszPro 私の公開されているQiita記事をカテゴリー別にご覧いただけます。 今後ともよろしくお願い致します。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

WWDC 2021基調講演の公開映像をもとにしたメモ

これは、WWDC基調講演の公開映像をもとにしたメモであり、iOS、iPadOSおよびMacOSの新たな変更点を理解するのに役立ちます。 ※一般公開されているWWDC Keynoteの動画と公開Session/Documentationページだけを使ってこの記事を執筆しました。 https://www.apple.com/apple-events/june-2021/ https://developer.apple.com/wwdc21/sessions/ https://developer.apple.com/documentation/ https://developer.apple.com/documentation/technologies?changes=latest_minor ここにはスクリーンショットは含めません。 セッションページへのリンクがわかりましたら、それを追加して記事を更新します。 この他にもたくさんのセッションや動画があります。これまで紹介したのはその一部のみです。すべての動画についてはこのページをチェックしてください。 デベロッパー関連の機能 フレームワーク 写真を撮影して3D ARオブジェクトの作成が可能になりました。 Session -> Create 3D models with Object Capture Documentation -> Capturing Photographs for RealityKit Object Capture Documentation -> Creating 3D Objects from Photographs Sample code -> Taking Pictures for 3D Object Capture Sample code -> Creating a Photogrammetry Command-Line App Xcodeクラウド クラウドサーバーを利用してアプリをビルドし、チーム全体でビルドの結果を確認できます(クラウド上でテストを実行できて、その結果がXcode上で表示にされます)。 また、TestFlightを介してアプリをテスターに自動配布することも可能です。 Session -> Explore Xcode Cloud workflows Session -> Customize your advanced Xcode Cloud workflows Documentation -> https://developer.apple.com/documentation/Xcode/Xcode-Cloud ShazamKit(音楽認識) Session -> Create custom audio experiences with ShazamKit Session -> Explore ShazamKit Documentation -> https://developer.apple.com/documentation/shazamkit フェイスタイム通話とアクティビティ共有(SharePlay) アプリはFaceTimeグループでデータを送信できます。 Session -> Coordinate media experiences with Group Activities Session -> Build custom experiences with Group Activities Session -> Design for Group Activities Documentation -> https://developer.apple.com/documentation/GroupActivities 空間オーディオ Session -> Immerse your app in spatial audio 新しいサウンド分析フレームワークで、音を検知(人間の声、楽器、動物、その他300種以上の音) Session -> Discover built-in sound classification in SoundAnalysis Documentation -> https://developer.apple.com/documentation/soundanalysis iOSシステムでSafariウェブ拡張機能がご利用いただけます。 Session -> Explore Safari Web Extension improvements Nearby Interaction フレームワークは、 U1チップを搭載したiPhone用のUWBサード​パーティ製アクセサリと連動できるようになりました。 これにより、携帯とアクセサリ間の正確な相対位置を取得できます。 Session -> Explore Nearby Interaction with third-party accessories Session -> Explore UWB-based car keys Documentation -> https://developer.apple.com/documentation/nearbyinteraction/ninearbyaccessoryconfiguration スクリーンタイムAPI Session -> Meet the Screen Time API Documentation -> https://developer.apple.com/documentation/ManagedSettings 空間オーディオの統合 / 動的な3Dオブジェクトのテクスチャ Session -> Dive into RealityKit 2 通知のための新しいAPI(マインドセット/モード) アプリは、システムの通知モードを確認することができます。(個人、仕事モード...) Session -> Send communication and Time Sensitive notifications iCloud Keychainで認証コードを生成して、より安全なサインイン体験を Session -> Secure login with iCloud Keychain verification codes ライブテキスト テキストの写真を撮り、そのテキストを選択できます。すでにライブラリにある写真にも対応しています。(ジェスチャーで写真の中のテキストを選択するだけです)。 Session -> Use the camera for keyboard input in your app iCloud+ プライベートリレー。メールを隠す。ランダムでユニークなメールアドレスをシェアできます。(必要なだけ)。ホームキットの安全なビデオ。 Session -> Get ready for iCloud Private Relay Matter Matterと呼ばれるスマートホームデバイス用の新たな通信プロトコルがあり、AppleのHomekitに対応しています。 Session -> Add support for Matter in your smart home app メールアプリの拡張機能を構築できるようになりました(コンテンツブロッカー、メッセージコンポーザー、メッセージカスタムアクション、メール暗号化など) Session -> Build Mail app extensions Swift 並行プログラミング Session -> Explore structured concurrency in Swift Session -> Meet async/await in Swift Session -> Protect mutable state with Swift actors Session -> Discover concurrency in SwiftUI Session -> Meet AsyncSequence Session -> Swift concurrency: Update a sample app Session -> Use async/await with URLSession Session -> Bring Core Data concurrency to Swift and SwiftUI Documentation -> https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html App Store 複数の商品ページを作成(異なるアプリアイコン、スクリーンショット) App Storeでアプリ内イベントを特集できるようになりました。 Session -> Meet in-app events on the App Store iPadOS iPadウィジェット用の特大サイズhttps://developer.apple.com/documentation/widgetkit/widgetfamily/systemextralarge iPad OS クイックノート Appleペンシルを使って画面(右下)の角からスワイプしてから、ノートを取ってください。ノートは、それを取ったアプリへリンクされます(また、同じアプリを開いたときにハイライトされます) Session -> Adopt Quick Note iPad版Swift Playground: SwiftUIコンポーネント。 iPadでアプリを作成。 iPadで作成したアプリをそのまま直接App Storeに提出することが可能。 MacOS Macシステムでショートカットアプリがご利用いただけます。 Session -> Meet Shortcuts for macOS 他の機能: - 地域に基づく通知 - WatchOSのNearby Interactionフレームワーク - UI試験の強化 - メモリーグラフ - スマート音量 Apple Watch 常時表示 アプリケーションが常にApple Watchの画面に表示されるようにする Documentation -> https://developer.apple.com/documentation/watchkit/designing_your_app_for_the_always_on_state 一部の機能は既に上で触れられておりますので、次のいくつかのセクションでは取り上げません。 iOS フェイスタイム通話 グループ通話での空間オーディオ 人の発言だけが聞こえるように、雑音を除去 参加者全員を一つの画面で見ることができるグリッド表示 ポートレートモードへ切り替え、背景をぼかす フェイスタイムリンク / フェイスタイム通話をスケジュール(イベントをフェイスタイム通話にする) その他のシステムをお使いの場合(アンドロイドおよびウィンドウズのデバイス)、ウェブ上でフェイスタイム通話に参加できます(エンドツーエンド暗号化も) フェイスタイム通話とアクティビティ共有(映画を見たり、音楽を聴いたり、など)(SharePlay) 共有 iMessageを使用して共有したコンテンツは、さまざまなシステムアプリケーションで表示できます。 フォーカスモード: 通知要約 お友達は、いつあなたがiMessageアプリで「Do Not Disturb」をオンにしたかを知ることができます。 デバイスを現在のマインドセット/モード(個人モード、仕事モード...)に合わせます。 仕事中であれば、仕事用アプリケーションからの通知だけを受け取ることができます。 インテリジェンス: ビジュアル検索(犬のパン、花の種類、本、ペット、目印)。 スポットライトで写真を検索します。写真の中にあるもの、場所、テキストで検索します。 連絡先の豊富な検索結果(電話をかけるアクション、関連するすべて、Find My、カレンダー、メール、メモ、ファイル)。 Spotlightのテレビ番組、映画の結果。 Photos Memories:Apple Musicの曲を使用できます。思い出のペースに合わせた音楽。 Memory Mixesでいろいろなミックスを試してみましょう。 ウォレット: アパート、家、ホテルの部屋(対応するホテル)の解錠 ID(運転免許証など)をウォレットに(現在はアメリカでのみ利用可能) 天気: 美しい新デザイン。 気象パターンに合わせて背景を追加 Appleマップ: 地球を見る 新しいマップを更に色々な国に。 道路の色や標高、カスタムデザインされたランドマークなど、新しい情報が追加されています。(バイクレーン、横断歩道、高速道路のインターチェンジなどを3Dで表現します) グロー機能付きマップのナイトタイムモード トランジット。エリア内の建物をスキャンし、ARで方向を生成。 AirPods: AirPodsがiPhoneから離れたときに作動する置き忘れ防止アラート。 「探す」アプリのネットワークでAirPodsの位置を探せるように。 健康アプリ: 歩行の安定性。スマホでその人の転倒リスクを評価できるようになりました。 システムで健康データのトレンドを生成できるようになりました。 健康アプリで記録した健康データを医療機関と共有しましょう。 さらに、健康データを家族と共有することもできます。 iPad: ウィジェットをホーム画面に配置。 iPad アプリライブラリ マルチタスキング : iPad 画面上部に表示される新しいコントロールでスプリットビューをすばやく作成。 新しいシェルフビューで異なるウィンドウ間の切り替えが手軽に。 新しいキーボードショートカットセットでマルチタスキングを実行。 メモアプリ メモアプリの共有ノートで誰かの名前に言及。 メモアプリのアクティビティ表示で、最新の変更を見る。 翻訳: この度、iPadでご利用いただけるようになりました。 プライバシー: メールのプライバシー保護: IP アドレスを隠します。 Safari: ウェブサイト トラッカーから IP アドレスを隠します。 アプリのプライバシー レポート: アプリがユーザーの位置、写真、カメラ、連絡先、その他の情報にアクセスする頻度 (過去 7 日間) の概要を表示します。 アプリが接続を確立したすべてのサードパーティ ドメインを表示します。 Apple Watch: 睡眠トラッキング(睡眠中の呼吸数)を改善。 ワークアウトの種類を新たに追加。 ポートレート写真(特殊効果付き)を文字盤に。 Apple Watchの写真アプリで写真のハイライト(写真共有機能を含む)を表示できるように。 複数のタイマー、身体の項目、およびその他機能。 Apple TV: SiriやHomePodにApple TVで番組を再生してもらう みんなの興味に合わせて映画を提案する。 Apple TVのスピーカーとしてHomePod miniを選択する。 HomePod miniでSiriに個人的なリクエストをする。 他のデバイス(サーモスタットなど)にSiriを使う(リクエストは自宅のHomePodにルーティングされます) カメラが荷物を検知する(荷物が配達された時のリマインダー)。 すべてのカメラの映像をApple TVで表示する MacOS: 新しいMacOSの名は「Monterey」 新しいフェイスタイム機能(上に記載の通り) コントロール機能 マウス、キーボード、またはトラックパッド一つでMacとiPadをコントロール MacBookのタッチパッドカーソルを直接画面の端まで動かして、iPadへ移動させることが可能(たとえば、iPadをMacBookの右隣りに置き、カーソルを右へ動かすと、iPadにカーソルが現れます)。 ドラッグとドロップも機能します。 別のMacコンピューター上でも機能します。 3台以上のデバイスでも機能します(オブジェクトを複数のデバイス間で移動させることが可能)。 AirPlayを使ってあなたのコンテンツをMacで再生できます。 サファリでそれぞれ異なったグループにタブを分けることが可能です(iCloudによって同期) すべての新機能についてはこちらをご覧ください。 https://www.apple.com/jp/newsroom/ すばらしいセッションやビデオがたくさんあります。このメモを参考に、すばやくナビゲートしていただければ幸いです。 Twitter ツイッター @MszPro 私の公開されているQiita記事をカテゴリー別にご覧いただけます。 今後ともよろしくお願い致します。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Flutter/iOS】Bitriseでfastlaneを使わずApp Store Connectにデプロイする

Bitriseが色々とアップデートされたおかげで、fastlaneを使わずにBitriseだけでApp Store Connectにデプロイできるようになりました。 デプロイ作業がとても簡単になったのでぜひ活用してください! 手順 BitriseのアカウントでApp Store Connectの認証をする BitriseのアカウントでGitHubの認証をする ワークフローを構築する (オプション)Slackからワークフローを叩けるようにする BitriseのアカウントでApp Store Connectの認証をする Bitriseのアカウント画面でApple Service Connectionを選択する Keyでの認証を行う ※ 3のフローで何故かIDでの認証だと二段階認証が通らなかったのでKeyで認証をお勧めします! ※ Keyの作成方法は今回は割愛です ※ KeyはAdmin権限のものを作成してください ! 認証されるとこんな感じで表示されます。 ! Teamsの1番下にある1Apple Service connection > API key authentication (recommended)にて先ほど認証したものを選択します ! BitriseのアカウントでGitHubの認証をする アカウントページからGitHubの連携を行う こちらの認証は画面の案内通りにやればオッケーです。 ワークフローを構築する ワークフロー全体図 1. Flutter Install Flutter SDK git repository version プロジェクトで採用しているFlutterのバージョンを設定してください 2. Flutter Analyze プロジェクトソースの解析をしてくれます。 入れなくても動きますが、入れることをおすすめします。 3. Flutter Build Flutterプロジェクトのビルドをします。 Project Location 特別何かしていなければデフォルトで問題ないです Platform 今回はiOSのリリースのみなのでiosにします Debug mode?   - ログの設定   - 基本は falseで問題ないです Build cache キャッシュの設定です 基本はallがいいと思います 4. iOS Auto Provision with Apple ID Apple Store Connectから証明書をfetchします。 Distribution type 申請の場合はapp-store The Developer Portal team ID Team IDを入力 ※ Apple IDに複数のTeamが紐づいてる場合はこちらの入力が必須です Xcode Project (or Workspace) path プロジェクトのパスを入力 Scheme name プロジェクトでスキーマを設定している場合はこちらに設定 5. Xcode Archive & Export for iOS アーカイブを行い作成したipaファイルをExportします。 Project (or Workspace) path プロジェクトのパスを入力 Scheme name プロジェクトでスキーマを設定している場合はこちらに設定 Enable caching of Swift Package Manager packages SwiftPMを使用している場合はこちらにswift_packagesを設定 以下はデフォルトで基本OK Select method for export Rebuild from bitcode Include bitcode Disable indexing during the build 6. Deploy to iTunes Connect App Store Connectにデプロイします。 Bitrise Apple Developer Connection 基本はautomaticでOK API Key: URL BitriseのアカウントでApp Store Connectの認証をするで作成したAPI KeyのURLを設定 API Key: Issuer ID BitriseのアカウントでApp Store Connectの認証をするで作成したAPI KeyのIssue IDを設定 こちらで設定完了です。 私はSlackから叩いて実行し、結果をSlackに通知するようにしています。 これで今までリリース作業していた時間が有効に活用できるようになります!最高!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む