Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
iOS 18 新機能対応
Search
Mika Ito
November 21, 2024
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOS 18 新機能対応
Mika Ito
November 21, 2024
More Decks by Mika Ito
See All by Mika Ito
Wi-Fi Aware を紐解く ~ Apple の公開 API と標準規格から理解する近距離 P2P 通信 ~
mika1315
0
76
Accessibility for Swift Charts
mika1315
0
710
速習!iOS 17 Widgets 対応!
mika1315
0
510
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
The untapped power of vector embeddings
frankvandijk
2
1.9k
Exploring anti-patterns in Rails
aemeredith
4
520
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
The Curse of the Amulet
leimatthew05
3
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
The SEO Collaboration Effect
kristinabergwall1
1
590
KATA
mclloyd
PRO
35
16k
Design in an AI World
tapps
1
350
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Transcript
iOS 18 新機能対応 Nikkei Tech Talk 2024/11/21 Mika Ito, Nikkei
Inc.
⾃⼰紹介 2 • iOSDC 2024 “Accessibility for Swift Charts” で登壇しました
https://www.youtube.com/watch?v=cOwrmjGEwNs
iOS 18 のアップデート 3
iOS 18 のアップデート Apple Intelligence 4
iOS 18 のアップデート Apple Intelligence 5
iOS 18 のアップデート:カスタマイズ性の向上! 6 https://www.apple.com/jp/ios/ios-18/
⽇経電⼦版の iOS 18 新機能対応 7 コントロールに対応 ホーム画⾯の カスタマイズ対応 Widgets 追加時に⾃動的に
オプションを表⽰
コントロールに対応 8
コントロールとは? • アプリの機能に素早くアクセスできる ◦ コントロールボタン ▪ アプリのアクション実⾏や特定領域への直接遷移といった機能を割り当てられる ▪ カメラ起動など ◦
コントロールトグル ▪ 機能のオン/オフなど、状態を切り替える機能を割り当てられる ▪ ライトのオン/オフなど 9 https://www.apple.com/newsroom/2024/06/ios-18-makes-iphone-more-personal-capable-and-intelligent-than-ever/
コントロールとは? • OS の様々なセクションに配置できる ◦ コントロールセンター ◦ ロック画⾯の下部 ◦ アクションボタン(アクションボタンのある端末のみ利⽤可能)
10 https://developer.apple.com/jp/design/human-interface-guidelines/controls
⽇経電⼦版のコントロール概要 • 5つの画⾯に遷移するコントロールに対応しました! ◦ トップ ◦ 朝刊‧⼣刊 ◦ For You
◦ フォロー‧保存 ◦ ⽇経電⼦版を検索 • 移動中や予定の合間に素早くニュースを チェックしたい⽅におすすめ 11
どこからでも⽇経電⼦版が起動できる、最強⽇経スマホが完成!💪💥 ⽇経電⼦版のコントロール概要 12
コントロールの実装 • WWDC2024 “Extend your app’s controls across the system”
を確認 • WidgetKit を⽤いて作成される ◦ Widgets の作成⽅法を知っていれば、コントロールも同じように作成できる ◦ 既存の WidgetExtension に追加できる • ボタンとトグルの⼆種類 ◦ ControlWidgetButton ◦ ControlWidgetToggle 13 https://developer.apple.com/videos/play/wwdc2024/10157/
コントロールの実装 • ControlConfiguration は⼆種類 ◦ StaticControlConfiguration : 構成不可能 ◦ AppIntentControlConfiguration:
構成可能(プロパティが選べる) • AppIntent を使ってアクションを実⾏する ◦ AppIntent を試す、良いチャンス! 14 https://developer.apple.com/videos/play/wwdc2024/10157/
コントロールの実装 - デザイン - • コントロールは置ける要素が決まっている • アイコン ◦ アイコンは
Widgets の機能を直感的に理解できるものが望ましい ◦ 標準の SF Symbols またはカスタムシンボルに限られる ◦ もし独⾃のロゴやアイコンを使⽤したい場合は、カスタムシンボルを準備する必要がある 15 https://developer.apple.com/jp/design/human-interface-guidelines/controls
コントロールの実装 - AppIntent - ⽇経電⼦版のコントロールは、アプリの特定の画⾯を開く機能 • AppIntent のターゲットには本体アプリを含める • AppIntent
の perform 関数から直接カスタム URL スキームを開くことはでき ない ◦ universal link を使⽤する ◦ 作成した SampleAppIntent に static property として URL を渡し、アプリ起動処理時に SampleAppIntent.url をハンドリングする(⽇経電⼦版はこちらを採⽤) 16
コントロールの実装 - AppIntent - struct SampleAppIntent: AppIntent { static var
openAppWhenRun: Bool = true private(set) static var url: URL? static func resetStoredURL() { url = nil } @MainActor func perform() async throws -> some IntentResult { // カスタム URL スキーム Self.url = URL(string: "sampleapp://")! return .result() } } 17 func handle(urlSchemes: [any URLScheme]) -> Bool { guard let url = SampleAppIntent.url else { return false } SampleAppIntent.resetStoredURL() for urlScheme in urlSchemes where urlScheme.canOpen(url: url) { return true } return false } perform 関数の中で、static property として URL を渡す アプリ起動処理時に SampleAppIntent.url をハンドリン グして、期待した画⾯に遷移する AppIntent App 本体
コントロールの実装 - AppIntent - • 詳しくは NIKKEI のテックブログをご覧ください ◦ https://hack.nikkei.com/blog/ios18-control/
18
アイコンやウィジェットを新しい⾒た⽬に 19
ホーム画⾯のパーソナライズ • アプリのアイコンとウィジェットを、ライト、ダーク、⾊合いで表⽰するこ とができるように • アイコンを好きな位置に置けるように • アイコンのサイズも変えられるように 20 https://support.apple.com/ja-jp/guide/iphone/iph385473442/18.0/ios/18.0
⽇経電⼦版のアイコン対応 21 ライト ダーク ⾊合い
⽇経電⼦版の Widgets 対応(画像) • 画像のレンダリング⽅法を指定できる • widgetAccentedRenderingMode ◦ accented ◦
accentedDesaturated ◦ desaturated(⽇経電⼦版はこちらを採⽤) ◦ fullColor 22
iOS ⽇経電⼦版本体もダークモード対応しました! 23
Widgets の地味に嬉しいアップデート struct SampleWidget: Widget { var body: some WidgetConfiguration
{ AppIntentConfiguration(...) .promptsForUserConfiguration() } } 24 • Configurable な Widgets が追加された時に ⾃動的にオプションを表⽰出来る
Widgets の地味に嬉しいアップデート 25 設定が変えられることを知らないユーザーが多いので、Widgets を活⽤してくれ るユーザーがより増えることを期待(NIKKEI Tech Talk #8 より)
https://speakerdeck.com/nikkei_engineer_recruiting/nikkei-tech-talk8-1?slide=35
App Store でフィーチャー • 最新機能対応すると取り上げてもらえる可能性がある • ⽇経電⼦版は iOS 18 におすすめのアプリとして
App Store に掲載 ◦ コントロール ◦ ホーム画⾯のカスタマイズ ◦ ロック画⾯のカスタマイズ ◦ (昨年対応した)スタンバイ → ◦ など 26
まとめ 新 OS 対応はやりがいだらけ! • プロダクトとして ◦ ユーザーエンゲージメントをあげるアイディアが隠れている ▪ ⽇頃から
iOS の最新技術をキャッチアップしている iOS エンジニアだからこそ、提案が 出来る ◦ App Store で取り上げてもらえる可能性がある ▪ インプレッションが増える ⤴ • エンジニアとして ◦ 新しい技術を⼿探りで実装していくプロセスは楽しい 27