diff --git a/src/assets/json/en/ios/wwdc/ios-wwdc-listnota11y.json b/src/assets/json/en/ios/wwdc/ios-wwdc-listnota11y.json index 6ed742071..577d12ee7 100644 --- a/src/assets/json/en/ios/wwdc/ios-wwdc-listnota11y.json +++ b/src/assets/json/en/ios/wwdc/ios-wwdc-listnota11y.json @@ -131,6 +131,17 @@ "raccourcis": "2023/23LiveActivities", "profils": ["All"] }, + { + "themes": "WWDC 2023", + "title": "Design Shortcuts for Spotlight", + "type": ["Button","Widget"], + "tests": [], + "verifier": [], + "resultat": ["Design"], + "exception": "", + "raccourcis": "2023/23AppIntents", + "profils": ["All","Shortcuts","Xcode"] + }, { "themes": "WWDC 2023", "title": "Discover String Catalogs", @@ -153,6 +164,17 @@ "raccourcis": "2023/23SwiftMacros", "profils": ["All","Swift"] }, + { + "themes": "WWDC 2023", + "title": "Explore enhancements to App Intents", + "type": ["Button","Widget"], + "tests": [], + "verifier": [], + "resultat": ["Design"], + "exception": "", + "raccourcis": "2023/23AppIntents", + "profils": ["All","Shortcuts","Xcode"] + }, { "themes": "WWDC 2023", "title": "Explore pie charts and interactivity in Swift Charts", @@ -252,6 +274,17 @@ "raccourcis": "2023/2310250", "profils": ["All","Xcode Playgrounds"] }, + { + "themes": "WWDC 2023", + "title": "Spotlight your app with App Shortcuts", + "type": ["Button","Widget"], + "tests": [], + "verifier": [], + "resultat": ["Design"], + "exception": "", + "raccourcis": "2023/23AppIntents", + "profils": ["All","Shortcuts","Xcode"] + }, { "themes": "WWDC 2023", "title": "Support HDR images in your app", diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_1.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_1.png new file mode 100644 index 000000000..c43ab23ca Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_1.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_10.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_10.png new file mode 100644 index 000000000..297828368 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_10.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_11.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_11.png new file mode 100644 index 000000000..60f46b503 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_11.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_12.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_12.png new file mode 100644 index 000000000..63bd31fb4 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_12.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_13.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_13.png new file mode 100644 index 000000000..52facb92b Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_13.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_14.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_14.png new file mode 100644 index 000000000..e23aad65d Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_14.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_15.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_15.png new file mode 100644 index 000000000..65cd2d2a9 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_15.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_16.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_16.png new file mode 100644 index 000000000..2c6059e49 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_16.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_17.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_17.png new file mode 100644 index 000000000..c35c87a52 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_17.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_18.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_18.png new file mode 100644 index 000000000..bcabd29b2 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_18.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_19.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_19.png new file mode 100644 index 000000000..0e7326cad Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_19.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_2.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_2.png new file mode 100644 index 000000000..7d1112ff0 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_2.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_20.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_20.png new file mode 100644 index 000000000..9abf11690 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_20.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_21.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_21.png new file mode 100644 index 000000000..41bb8d204 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_21.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_22.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_22.png new file mode 100644 index 000000000..a61454575 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_22.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_23.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_23.png new file mode 100644 index 000000000..2b7cd0028 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_23.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_24.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_24.png new file mode 100644 index 000000000..30b85f7d3 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_24.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_25.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_25.png new file mode 100644 index 000000000..84d1635b6 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_25.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_26.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_26.png new file mode 100644 index 000000000..61cbd7f57 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_26.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_27.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_27.png new file mode 100644 index 000000000..ad3386993 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_27.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_28.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_28.png new file mode 100644 index 000000000..91c33a60b Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_28.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_29.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_29.png new file mode 100644 index 000000000..e05fe1740 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_29.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_3.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_3.png new file mode 100644 index 000000000..443d32d56 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_3.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_30.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_30.png new file mode 100644 index 000000000..7d5984cdd Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_30.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_31.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_31.png new file mode 100644 index 000000000..1eeb58f12 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_31.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_32.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_32.png new file mode 100644 index 000000000..89cd4f3ae Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_32.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_33.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_33.png new file mode 100644 index 000000000..cc54d24ed Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_33.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_34.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_34.png new file mode 100644 index 000000000..3fe9c2e8f Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_34.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_35.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_35.png new file mode 100644 index 000000000..aabf3c397 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_35.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_36.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_36.png new file mode 100644 index 000000000..c12df8cd9 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_36.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_37.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_37.png new file mode 100644 index 000000000..240a48b6d Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_37.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_38.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_38.png new file mode 100644 index 000000000..cfdd4c63a Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_38.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_39.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_39.png new file mode 100644 index 000000000..9aa0d01a0 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_39.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_4.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_4.png new file mode 100644 index 000000000..ad8684af9 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_4.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_40.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_40.png new file mode 100644 index 000000000..3277b8a1c Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_40.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_41.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_41.png new file mode 100644 index 000000000..c26510f74 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_41.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_42.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_42.png new file mode 100644 index 000000000..4f7fb164f Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_42.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_43.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_43.png new file mode 100644 index 000000000..6df7c771a Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_43.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_44.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_44.png new file mode 100644 index 000000000..bb1915d60 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_44.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_45.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_45.png new file mode 100644 index 000000000..3151d3d63 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_45.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_46.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_46.png new file mode 100644 index 000000000..33044bee9 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_46.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_47.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_47.png new file mode 100644 index 000000000..226f9a27f Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_47.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_48.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_48.png new file mode 100644 index 000000000..219c3357d Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_48.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_49.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_49.png new file mode 100644 index 000000000..c6932ee46 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_49.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_5.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_5.png new file mode 100644 index 000000000..61d738223 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_5.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_50.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_50.png new file mode 100644 index 000000000..c6e01be4e Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_50.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_51.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_51.png new file mode 100644 index 000000000..ffadfbf68 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_51.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_52.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_52.png new file mode 100644 index 000000000..cbd9b5e21 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_52.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_53.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_53.png new file mode 100644 index 000000000..fdb4fe5b2 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_53.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_54.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_54.png new file mode 100644 index 000000000..a5910f8d6 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_54.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_55.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_55.png new file mode 100644 index 000000000..0f8f038a9 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_55.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_56.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_56.png new file mode 100644 index 000000000..8dea2a0a3 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_56.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_57.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_57.png new file mode 100644 index 000000000..e424f6a8d Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_57.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_58.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_58.png new file mode 100644 index 000000000..7a53316bb Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_58.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_59.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_59.png new file mode 100644 index 000000000..49f9fb1ec Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_59.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_6.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_6.png new file mode 100644 index 000000000..706494d2d Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_6.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_7.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_7.png new file mode 100644 index 000000000..9b901bee2 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_7.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_8.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_8.png new file mode 100644 index 000000000..a87ce2fef Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_8.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_9.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_9.png new file mode 100644 index 000000000..ab6e76de2 Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_9.png differ diff --git a/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_Poster.png b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_Poster.png new file mode 100644 index 000000000..4e904cbca Binary files /dev/null and b/src/en/mobile/images/iOSdev/wwdc23-AppIntShortSpot_Poster.png differ diff --git a/src/en/mobile/ios/wwdc/nota11y/2023/2310155.md b/src/en/mobile/ios/wwdc/nota11y/2023/2310155.md index 8b996842e..02a3c4ff1 100755 --- a/src/en/mobile/ios/wwdc/nota11y/2023/2310155.md +++ b/src/en/mobile/ios/wwdc/nota11y/2023/2310155.md @@ -19,7 +19,7 @@ The original video is available on the **Apple official website** ([session  ![](../../../../../images/iOSdev/wwdc23-10155_2.png) ## [Overview](https://developer.apple.com/videos/play/wwdc2023/10155/?time=57) -In order to handle the localization in one single place, the **String Catalogs are introduced in `Xcode 15` to replace the `.strings` and `.stringsdict` files in future releases. +In order to handle the localization in one single place, the **String Catalogs** are introduced in `Xcode 15` to replace the `.strings` and `.stringsdict` files in future releases. ![](../../../../../images/iOSdev/wwdc23-10155_3.png) All the **added strings** are [automatically extracted](https://developer.apple.com/videos/play/wwdc2023/10155/?time=110) by `Xcode` and the **multiplatforms localization** is now [streamlined](https://developer.apple.com/videos/play/wwdc2023/10155/?time=169) for a simpler usage. diff --git a/src/en/mobile/ios/wwdc/nota11y/2023/2310193.md b/src/en/mobile/ios/wwdc/nota11y/2023/2310193.md new file mode 100644 index 000000000..c6a9feb79 --- /dev/null +++ b/src/en/mobile/ios/wwdc/nota11y/2023/2310193.md @@ -0,0 +1,56 @@ +--- +title : "Design Shortcuts for Spotlight" +abstract: "Learn how to design your shortcut to appear as a top hit in Spotlight." + +displayToc: true +--- + +# WWDC 2023: Design Shortcuts for Spotlight +Find hereafter a detailed summary of the above named video that belongs to a [taxonomy of some WWDC footages](../../). + +The original video is available on the **Apple official website** ([session 10193](https://developer.apple.com/videos/play/wwdc2023/10193/)). + +![](../../../../../images/iOSdev/wwdc23-10193_Poster.png) + +"Learn about the **latest updates** to the visual language of App Shortcuts and find out how to **design your shortcut** to appear as a top hit in Spotlight. We'll share how shortcuts can appear on iOS or iPadOS, and show you how to **customize the visual appearance of a shortcut**, personalize its order, select its correct behavior, and **increase discoverability**." + +
Hereafter, the underlined elements **lead directly to the playback of the WWDC video** at the appropriate moment. + + + +## []() + +
+ +## []() + +
+ +## []() + +
+ +## []() + +
+ +## []() + +
+ +## []() + +
+ +## []() + +
+ +## []() + +
+ +## []() + +
+ diff --git a/src/en/mobile/ios/wwdc/nota11y/2023/23AppIntents.md b/src/en/mobile/ios/wwdc/nota11y/2023/23AppIntents.md new file mode 100644 index 000000000..9f0edeeda --- /dev/null +++ b/src/en/mobile/ios/wwdc/nota11y/2023/23AppIntents.md @@ -0,0 +1,596 @@ +--- +title : "App Intents, App Shortcuts and Spotlight" +abstract: "Learn how to design your shortcut to appear as a top hit in Spotlight." + +displayToc: true +--- + +# WWDC 2023: App Intents, App Shortcuts and Spotlight +Find hereafter a detailed summary of the hereunder named videos that belong to a [taxonomy of some WWDC footages](../../). + +The original ones are available on the **Apple official website** ([session 10102](https://developer.apple.com/videos/play/wwdc2023/10102/), [session 10103](https://developer.apple.com/videos/play/wwdc2023/10103/) and [session 10193](https://developer.apple.com/videos/play/wwdc2023/10193/)). + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_Poster.png) + +"Discover how to **use App Shortcuts** to surface frequently used features from your app in Spotlight or through Siri. Find out how to **configure search results** for your app and **learn best practices** for creating great App Shortcuts. We'll also show you how to **build great visual and voice experiences** and extend to other Apple devices like Apple Watch and HomePod." + +"Explore the **latest updates** and learn how you can take advantage of dynamic options and user interactivity to **build better experiences for your App Shortcuts**. We'll share how you can integrate with Apple Pay, structure your code more efficiently, and take your Shortcuts app integration to the next level." + +"Learn about the **latest updates** to the visual language of App Shortcuts and find out how to **design your shortcut** to appear as a top hit in Spotlight. We'll share how shortcuts can appear on iOS or iPadOS, and show you how to **customize the visual appearance of a shortcut**, personalize its order, select its correct behavior, and **increase discoverability**." + +
Hereafter, the underlined elements **lead directly to the playback of the WWDC video** at the appropriate moment.
+ +## [Design](https://developer.apple.com/videos/play/wwdc2023/10193/?time=44) +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_1.png) + +**Three main principles** come to mind when dealing with the design for `Spotlight`. + + + +
+
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_3.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_4.png) +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_5.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_6.png) + +**[Personalizing the app shortcuts](https://developer.apple.com/videos/play/wwdc2023/10193/?time=182)** through the decisions made by the users is also a good mean to improve the predictability. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_7.png) +
+
+ +
+ +In `iOS` `17`, starting any search with the `Search` utility makes it easy to render apps and their shortcuts as well nearby in the top hit as in the `Shortcuts` app. +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_2.png) + +Few areas should be analyzed in depth regarding the design with `Spotlight`. + + +
+
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_9.png) + +Once the concepts of **action** and **entity** are integrated, it's crucial to **[avert truncations](https://developer.apple.com/videos/play/wwdc2023/10193/?time=290)** in the names... + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_8.png) +... and to **[maintain a coherence](https://developer.apple.com/videos/play/wwdc2023/10193/?time=312)** between the shapes of the shortcuts. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_10.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_11.png) + +While the background color of the `Top` `Hit` in `Spotlight` may be customized and spread to the `Shortcuts` app, it's also possible to supply a [secondary tint color](https://developer.apple.com/videos/play/wwdc2023/10193/?time=393) to the symbols for highlighting a **two-tone appearance**. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_12.png) +
+ +
+ +**[App Launch](https://developer.apple.com/videos/play/wwdc2023/10193/?time=428)**, **[Live Activity](https://developer.apple.com/videos/play/wwdc2023/10193/?time=438)** and **[Snippet](https://developer.apple.com/videos/play/wwdc2023/10193/?time=452)** are the possible options to be followed according to the appropriate screen where it's suggested to the user. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_13.png) +
+ +
+ +🎬 + +To make the `App Shortcuts` discoverable in `Spotlight`, it's important to **write phrase synonyms** to tailor and direct the search. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_14.png) + +Providing **[app name synonyms](https://developer.apple.com/videos/play/wwdc2023/10193/?time=531)** may be a good mean for some specific situations as well. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_15.png) +
+
+
+
+ +## App Shortcuts +### [Basics](https://developer.apple.com/videos/play/wwdc2023/10102/?time=48) +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_16.png) + +Made to ease the app's functionality discovery, the `App Shortcuts` may be reached from [various tools](https://developer.apple.com/videos/play/wwdc2023/10102/?time=68) and leads to a high range of [outcomes](https://developer.apple.com/videos/play/wwdc2023/10102/?time=85) through its usage. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_17.png) + +#### [Intent & shortcut](https://developer.apple.com/videos/play/wwdc2023/10102/?time=154) +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_19.png) + +A **basic app shortcut** is [easy to be implemented](https://developer.apple.com/videos/play/wwdc2023/10102/?time=193) by following the creations of the **app intent** and the **app shortcut**. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_18.png) + +#### Entity & query +To dive deeper into the possible opportunities, it's important to understand the concepts of **[entities](https://developer.apple.com/videos/play/wwdc2023/10102/?time=333)** and **[queries](https://developer.apple.com/videos/play/wwdc2023/10102/?time=361)**. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_20.png) + +Once implemented, the [entity](https://developer.apple.com/videos/play/wwdc2023/10102/?time=389) and the [query](https://developer.apple.com/videos/play/wwdc2023/10102/?time=421) elements' code writing leads to an [upgraded version](https://developer.apple.com/videos/play/wwdc2023/10102/?time=440) of the previous example. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_21.png) + +#### [Implementation](https://developer.apple.com/videos/play/wwdc2023/10102/?time=451) +Expanding the previous example to a broader range including `Siri` and `Spotlight` gives rise to an **app shortcut implementation**. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_22.png) + +The [result](https://developer.apple.com/videos/play/wwdc2023/10102/?time=603) relies on the **mandatory notion of updating** the `App` `Shortcut` parameters. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_23.png) + +#### Discovery +Finally, the main two ways for finding out the `App Shortcuts` through the device is based on **[Spotlight](https://developer.apple.com/videos/play/wwdc2023/10102/?time=622)** and **[Siri Tips](https://developer.apple.com/videos/play/wwdc2023/10102/?time=659)**. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_24.png) +
+ +### [iOS 17 enhancements](https://developer.apple.com/videos/play/wwdc2023/10102/?time=713) +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_25.png) + +New `API`s have been introduced to support and develop the `iOS` `17` features that relate many areas. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_26.png) + + + +
+
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_27.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_28.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_29.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_30.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_31.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_32.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_33.png) + +Check out the [next section](#demo) for a better understanding of this **App Shortcuts Preview** new feature of `Xcode`. +
+
+
+
+ +#### [Demo](https://developer.apple.com/videos/play/wwdc2023/10102/?time=999) +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_34.png) + +Testing the app in another language like [Mandarin](https://developer.apple.com/videos/play/wwdc2023/10102/?time=1090) becomes easier when using this `Xcode` new feature. +
+ +#### [String Catalog](https://developer.apple.com/videos/play/wwdc2023/10102/?time=1121) +`iOS` `17` brings many enhancements to localize the `App Shortcuts` trigger phrases. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_37.png) + +The `String` `Catalog` format introduced in `iOS` `17` is easy to be implemented in your app whatever `App Shortcuts` has already been integrated or not. + + +
+
+ +🎬 + +Creating a new file from your app in `Xcode` gives rise to the opportunity of building some localized files based on the `String` `Catalog` format. +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_35.png) +
+ +
+ +🎬 + +If the `App` `Shortcuts` is already integrated, it's quite easy to migrate the `AppShortcuts.strings` file to `String` `Catalog`. +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_36.png) +
+
+
+
+ +### [Tips & tricks](https://developer.apple.com/videos/play/wwdc2023/10102/?time=1220) +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_38.png) + +It's essential to keep in mind the `App` `Shortcuts`' [limitations](https://developer.apple.com/videos/play/wwdc2023/10102/?time=1258) that could lessen the impact of `Siri`. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_39.png) + +
+ +### Results across devices + + +
+
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_40.png) +
+ +
+ +🎬 + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_41.png) +
+
+
+ +## App Intents +`App intents` are made to expose an app’s capabilities to the system through actions that need the `AppIntent` protocol approval for their creations and the `App Shortcuts` with `Siri` to be highlighted. + +### Widgets +The **widget [configuration](https://developer.apple.com/videos/play/wwdc2023/10103/?time=69)** provides more customization for the user programatically inserted inside the [`Widget` extension code](https://developer.apple.com/videos/play/wwdc2023/10103/?time=106). + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_48.png) + +**[Migrate](https://developer.apple.com/videos/play/wwdc2023/10103/?time=233)** the existing widgets from `SiriKit` to `App Intents` becomes easier thanks to `Xcode` `15`. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_49.png) + +The widget **[interactivity](https://developer.apple.com/videos/play/wwdc2023/10103/?time=341)** is highly improved by the buttons and toggles whose actions can be fired through this interface. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_50.png) + +
Advanced techniques for configuration also come in with `iOS` `17`. + + + +
+
+ +🎬 + +Aimed at accessing the parameters from the `Intents`, the **dynamic options** interface comes in with a new **IntentParameterDependency** property wrapper that can be used within `DynamicOptionsProvider` or `Query`. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_51.png) + +This dependency might also rely on [multiple parameters](https://developer.apple.com/videos/play/wwdc2023/10103/?time=604). +
+ +
+ +🎬 + +Define an **array size** during declaration is now possible while refining which one of these parameters should be displayed according to some conditions. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_52.png) +
+ +
+ +🎬 + +The action to be performed when a tap occurs on the widget relies on the **widgetConfigurationIntent** method call on the user activity to reach the associated configuration `Intent` and navigate through the app as desired. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_53.png) + +Note that the new **[RelevantContext](https://developer.apple.com/videos/play/wwdc2023/10103/?time=812)** type that specifies conditions for relevance regarding the `Widget` suggestions is the way to follow to optimize the widgets' `Smart Stacks`. +
+
+
+
+ +### Developer experience +The **[framework support](https://developer.apple.com/videos/play/wwdc2023/10103/?time=890)** has been enhanced to become more flexible through the new **AppIntentsPackage** protocol to make app intent declarations directly available with the framework. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_54.png) + +
Instead of defining the `App Shortcuts` in the main app bundle, it's now possible to create an **[AppShortcutsProvider](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1047)** and define `App Shortcuts` in the `App Intents` extensions thus avoiding to launch the app in the background when its `App Shortcut` is running. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_55.png) + +The hereabove enhancements are based on the process of data **[static extraction](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1088)** that has been improved in `Xcode` `15` to keep on executing an `Intent` in the app even if it was initially started in background. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_59.png) + +
Besides the **[support for Apple Pay](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1310)**, two `iOS` `17` significant improvements have been inserted into `App Intents`. +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_58.png) + + +
+
+ +🎬 + +The **ForegroundContinuableIntent** protocol is the way to follow if it's necessary to keep on executing an `Intent` in the foreground while it was started in the background. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_56.png) + +The **needsToContinueInForegroundError** method should be used when it's required to **stop the `Intent` execution** and to perform an action to carry on in the foreground. +
+ +
+ +🎬 + +As an instance method of the `ForegroundContinuableIntent` protocol, the **requestToContinueInForeground** should be used when it's asked to the user to continue execution in the foreground without stopping the `Intent` execution. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_57.png) +
+
+
+
+ +### [Shortcuts app integration](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1351) +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_47.png) + As the foundation to make an app's functionality revealed through `Siri` and `App Shortcuts`, the **`App Intents` usage** relies on the following good practice: + +1. It's important to get into the habit of using the **[parameter summary](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1414)** to expose clearer information to the user. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_42.png) + +When `App Intents` should be used in specific circumstances and not opened to the whole app, using the **[isDiscoverable](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1437)** type property is appropriate if it deals with a **widget** or a **button** in a `SwiftUI` app. +Introduced in `iOS` `17` as a boolean value, the goal of this element is to determine whether `Shortcuts` and `Spotlight` can **discover an app intent**. + +2. The **[ProgressReportingIntent](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1500)** protocol has been introduced in order to **report progress to the system during its execution**. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_43.png) + +3. The **[EnumerableEntityQuery](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1542)** protocol now supersedes the `EntityPropertyQuery` protocol introduced in `iOS` `16` for a simpler and a more scalable search usage even if special attention should be paid to some [significant cases](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1631). + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_44.png) + +4. A new **[resultValueName](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1654)** property has been added to the `IntentDescription` structure so as to be displayed in the `Shortcuts` editor as a variable output for instance. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_45.png) + +5. `iOS` `17` provides the opportunity to add an **[Intent description](https://developer.apple.com/videos/play/wwdc2023/10103/?time=1707)** for the `Find actions` whatever the query protocol. + +![](../../../../../images/iOSdev/wwdc23-AppIntShortSpot_46.png) +
+ diff --git a/src/en/mobile/ios/wwdc/nota11y/index.md b/src/en/mobile/ios/wwdc/nota11y/index.md index 11b3f2399..91ce72d15 100644 --- a/src/en/mobile/ios/wwdc/nota11y/index.md +++ b/src/en/mobile/ios/wwdc/nota11y/index.md @@ -24,28 +24,31 @@ If you're willing to be informed of the most recent added detailed summaries, pl